多语言展示
当前在线:274今日阅读:162今日分享:23

Excel使用VBA程序导出内容到记事本

之前曾介绍过VBA程序里边使用Shell唤起cmd命令将Excel里边的文本内容导出到文本文档,但这样的效率比较低下,对于导出的内容较多时,将无法满足需求。经过深思熟虑之后,下边就分享一下VBA导出内容到文本文档的另一种程序。0将Excel表格内容导出到文本文档
工具/原料
1

操作设备:计算机

2

操作系统:Windows 7

3

办公软件:Excel 2010

方法/步骤
1

打开Excel表格,按下【Alt+F11】组合键调出VBE编辑器。

2

在VBE编辑器的菜单栏上面点击【插入】、【模块】。

3

在模块的代码框里边输入以下VBA程序代码。Sub ExTxt()Dim Fso, Fil, i1, i2, i3, i4, i5, Str, TxtOn Error Resume Next '忽略运行过程中可能出现的错误Set mysheet1 = ThisWorkbook.Worksheets('Sheet1') '定义工作表Sheet1myPath1 = 'D:\AAAA\'        '文件夹路径myPath2 = myPath1 & '古诗词.txt'  '输出txt文本路径MkDir myPath1                '新建文件夹Set Fso = CreateObject('Scripting.FileSystemObject') '访问系统文件Set Fil = Fso.OpenTextFile(myPath2, 8, 1) '打开文本文件For i2 = 2 To 3000 '从第2行到3000行 If mysheet1.Cells(i2, 2) <> '' Then '如果B列单元格不是空白,则  i4 = 0  Str = ''  Do   i3 = i4   i4 = InStr(i3 + 1, mysheet1.Cells(i2, 2), Chr(10))  '判断换行符所在的位置   Str = Mid(mysheet1.Cells(i2, 2), i3 + 1, i4 - i3 - 1) '截取每一行的字符   If i4 = 0 Then '如果不存在换行符,则    Str = Mid(mysheet1.Cells(i2, 2), i3 + 1, Len(mysheet1.Cells(i2, 2)) - 3)    '截取最后一行的字符    Fil.Write Str '将字符写入文本    Fil.WriteBlankLines (2) '换2行    Exit Do   End If   Fil.Write Str '写入文本   Fil.WriteBlankLines (1) '换1行  Loop End IfNextFil.Close '关闭文本文档Set Fso = NothingSet Fil = NothingEnd Sub

4

检查无误后,在VBE编辑器的功能区里边点击“运行”图标运行程序,或者按下【F5】键运行程序。

5

打开文本文档输出的路径(如:D:\AAAA\古诗词.txt)。

总结

VBA程序总结:1、常言道:条条大道通罗马,在没有想到其他更好的方法之前,使用其他程序语句处理问题总比手工强一些。2、OpenTextFile语法:OpenTextFile(打开的文件,只读(1)/打开并写到文件尾部(8),文件不存在时是否创建,打开文件的格式)。3、WriteBlankLines语法:WriteBlankLines(换几行)。4、由于单元格里边含有换行符,直接写入文本文档的话,单元格里面的内容就会连接到一起,因此,借助Instr函数逐一判断换行符所在的位置,再写入到文本文档里边,才能与单元格的换行一致。

注意事项
1

程序执行的快慢与设备配置、执行的任务量有关。

2

操作界面及功能可能因操作系统、软件版本不同而存在差异。

推荐信息