ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10508|回复: 11

[求助] 如何将TXT批量打开并保存成.xlsx

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-7-13 13:02 | 显示全部楼层 |阅读模式
如何将TXT批量打开并保存成.xlsx?
附件文件夹内有多个txt,我想将它们均用excel打开,并保存为.xlsx的格式,不知如何编写VBA 11-09-24 22-16.rar (217.54 KB, 下载次数: 38)

TA的精华主题

TA的得分主题

发表于 2013-7-13 14:40 | 显示全部楼层
请测试:
  1. Sub Macro1()
  2.     Dim p$, f$
  3.     Application.ScreenUpdating = False
  4.     Application.DisplayAlerts = False
  5.     p = ThisWorkbook.Path & ""
  6.     f = Dir(p & "*.TXT")
  7.     Do While f <> ""
  8.         Workbooks.OpenText p & f
  9.         With ActiveWorkbook
  10.             .SaveAs Filename:=p & Replace(f, ".TXT", ".xlsx"), FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
  11.             .Close
  12.         End With
  13.         f = Dir
  14.     Loop
  15.     Application.ScreenUpdating = True
  16. End Sub

复制代码

TA的精华主题

TA的得分主题

发表于 2013-7-13 14:49 | 显示全部楼层
上面代码仅处理TXT文件,附件中有多种文件(mem、LOG):
  1. Sub Macro1()
  2.     Dim p$, f$
  3.     Application.ScreenUpdating = False
  4.     Application.DisplayAlerts = False
  5.     p = ThisWorkbook.Path & ""
  6.     f = Dir(p & "*.*")
  7.     Do While f <> ""
  8.         If f <> ThisWorkbook.Name Then
  9.             Workbooks.OpenText p & f
  10.             With ActiveWorkbook
  11.                 .SaveAs Filename:=p & Split(f, ".")(0) & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
  12.                 .Close
  13.             End With
  14.         End If
  15.         f = Dir
  16.     Loop
  17.     Application.ScreenUpdating = True
  18. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-7-13 14:50 | 显示全部楼层
请看附件
11-09-24 22-16.rar (236.68 KB, 下载次数: 144)

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-13 14:58 | 显示全部楼层
本帖最后由 hjq129 于 2013-7-13 15:04 编辑
zhaogang1960 发表于 2013-7-13 14:50
请看附件

我自己做了两个宏,能否将TXT用excel打开后,先应用这两个宏,然后再另存为xlsx?
是不是直接把我做的宏添加到你做的文件中,一起执行? 1.rar (1.14 KB, 下载次数: 15)
先应用table,再应用chart

TA的精华主题

TA的得分主题

发表于 2015-2-13 18:20 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-9-21 15:20 | 显示全部楼层
zhaogang1960 发表于 2013-7-13 14:49
上面代码仅处理TXT文件,附件中有多种文件(mem、LOG):

请教一下,如果这个文件夹里有诸如“1.3.txt”,“12.3.txt”,好像没有效果呀,这个要怎么改才行呢。

TA的精华主题

TA的得分主题

发表于 2016-4-8 16:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2016-4-8 18:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2016-9-30 20:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

老师,我有个问题,我的txt文件格式是乱的,我想通过excel打开txt文件,指定行和列的划分,类似这种代码,大神能给写个循环处理吗。文件夹里很多文件,怎么循环逐个处理呢?
  1. ChDir "E:\D5000数据\遥测遥信统计数据\ycfortxt"
  2.     Workbooks.OpenText Filename:= _
  3.         "E:\D5000数据\遥测遥信统计数据\ycfortxt\JL_20160426_124400_SCADA_YC..txt", Origin:=936 _
  4.         , StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
  5.         ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, _
  6.         Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3 _
  7.         , 1), Array(4, 1)), TrailingMinusNumbers:=True
  8.     ActiveWorkbook.Save
  9.     ActiveWindow.Close
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-16 03:49 , Processed in 0.027700 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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