设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 7560|回复: 14
打印 上一主题 下一主题

[基础应用] Excel批量导入TXT数据问题

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-21 02:12:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请问:现在我有近千个TXT文本数据,0001.txt~0999.txt,每一个都需要单独导入新的Excel工作表,数据——导入外部数据——导入数据,然后设置一些,完成之后,另存为0001.xls~0999.xls。

每一个的过程虽然很简单都一模一样,但是我现在有近千个,那还不累死人啦?!请问有什么批处理的方法吗?用宏可以吗?如果可以的话请看下面我录制的语句,需要修改什么地方?!据说把路径文件名改成变量就行了?怎样修改,谢谢!

Sub Macro1()
'
' Macro1 Macro
' 宏由 User 录制,时间: 2008-8-21
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;D:\xxx\0001.txt" _
        , Destination:=Range("A1"))
        .Name = "AIDC-0121"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 936
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileOtherDelimiter = "|"
        .TextFileColumnDataTypes = Array(2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 9)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    ActiveWorkbook.SaveAs Filename:= _
        "D:\xxx\0001.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
15#
发表于 2010-2-26 12:54:34 | 只看该作者
With  .... END WITH 中间那一段参数,具体需要你自己逐个将参数替换尝试一下.

...
.TextFileParseType = xlDelimited
....
14#
发表于 2010-2-25 17:09:09 | 只看该作者
是固定宽度可以没错,想批量!请问要代替前面那个的哪一段!请指点
13#
发表于 2010-2-25 17:06:13 | 只看该作者
选固定宽度就可以了.以下是你的文件打开时录的代码.

    Workbooks.OpenText Filename:="D:\test.txt", Origin:=936, StartRow:=1, _
        DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(17, 1), Array(82, 1) _
        ), TrailingMinusNumbers:=True
12#
发表于 2010-2-25 16:38:14 | 只看该作者
首先谢谢版主共享这么好的一个程序!想问一下,就是我的数据不是以“|”为做分隔符的,请问这个怎么处理好?谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
11#
发表于 2008-8-26 08:11:31 | 只看该作者
excel还能这样玩 不错
10#
 楼主| 发表于 2008-8-25 19:09:15 | 只看该作者
liwen版主,你真是太帅了!!!刚才用你这段程序修改了一下,又搞定一个类似的任务,再一次衷心感谢!![:50]
9#
 楼主| 发表于 2008-8-25 18:09:27 | 只看该作者
版主这段程序写得很好啊,有很多值得我这个新手回味、学习的地方,谢谢liwen版主不仅 授人以鱼,而且最重要的是授人以渔!太感谢了!
8#
发表于 2008-8-25 10:04:15 | 只看该作者
原帖由 dostpy 于 2008-8-22 19:09 发表
老大,好像因为那句ThisWorkbook.Path 所以必须先在需要转换的目录打开或新建一个工作簿,然后才可以吧。。。我是这样才行的

请问,可以把那句ThisWorkbook.Path 改成绝对路径吗?比如C:\xxxx


实践是检验真理的唯一标准,自己动手替换试试就知道了。

点击这里给我发消息

7#
发表于 2008-8-23 00:00:12 | 只看该作者
这个.....这个......
貌似可以直接用EXCEL打开TXT
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-22 19:36 , Processed in 0.105082 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表