在Excel中通过宏VB编程实现导出内容到文本文件
在EXCEL中通过宏VB编程实现导出EXCEL中的内容到txt文件:
1. Office 2007中新建/打开一个Excel文件,命名为book1.xls,注意后缀,并且填充数据
2. 点击 视图 > 宏 > 录制宏 > 停止宏 > 查看宏 >编辑宏(写VB代码) >保存
Sub Macro1() Dim objApp As Object Dim objWbk As Object Dim objSht As Object Dim i&, strTemp$, strWorkBook$ '工作簿文件名你自己处理 strWorkBook = "D:\VB\book1.xls" Set objApp = CreateObject("Excel.Application") Set objWbk = objApp.Workbooks.Open(strWorkBook) Set objSht = objWbk.Sheets(1) '要导出哪张表,你自己处理 '输出的文本文件名自己处理 Open "D:\VB\Book1.txt" For Output As #1 i = 5 '从第5行开始 Do strTemp = objSht.Cells(i, 1).Text '你没说结束行的条件,我就假设A列为空表示数据结束 If (strTemp = "") Then Exit Do 'objSht.Cells(i, 1) 是A列 'objSht.Cells(i, 2) 是B列 'objSht.Cells(i, 5) 是E列 '每行数据如何分隔单元,你自己处理 strTemp = strTemp & ", " & objSht.Cells(i, 2) & ", " & objSht.Cells(i, 5) Print #1, strTemp i = i + 1 Loop Close #1 objWbk.Close False Set objSht = Nothing Set objWbk = Nothing Set objApp = Nothing MsgBox "数据导出完毕!", vbInformation End Sub
3.启用宏
打开.xls文件后,有个警告和一个"选项"按钮,点击之,然后选中"启用此内容"选项
4.查看.txt中的结果
A5, B5, E5
A6, B6, E6
A7, B7, E7
A8, B8, E8
A9, B9, E9
A10, B10, E10
A11, B11, E11
A12, B12, E12