将Excel工作表文本保存为文本文件VBA
我正在尝试将表格中的一列的值复制到文本文件中。 我目前的代码导致运行时错误434。
Sheets("Output to fcf.1").Columns("A").SaveToText "P:\4_Calcs\02. Flag Mapping\test_.txt"
如果我尝试保存整个表格
Sheets("Output to fcf.2").SaveToText "P:\Clear Project Drive\CLE10276 AWS SMP Model Assessmnts\4_Calcs\02. Flag Mapping\test2_.txt"
我将整个工作表转换为文本而不是工作表中的文本。 有一个简单的方法来做到这一点?
提前致谢!
不知道你有哪个Excel版本,但是我没有看到SaveToText
一个方法。
但是这个程序应该工作,或者至less让你开始…
Sub SaveColumn(sheetName As String, columnName As String, fileName As String) Dim cell Dim fso Dim file Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.CreateTextFile(fileName, True) For Each cell In Sheets(sheetName).Columns(columnName).Cells If cell.Value <> "" Then file.WriteLine cell.Value End If Next file.Close Set file = Nothing Set fso = Nothing End Sub
给它打电话…
SaveColumn "Output to fcf.1", "A", "P:\4_Calcs\02. Flag Mapping\test_.txt"
这被devise成用作macros。
一步一步的指导:
1)从Excel中,按键盘上的Alt + F11。
2)从菜单栏中,点击插入 ,然后点击模块
3)将下面提供的代码复制并粘贴到打开的新模块中。
注意: DocPath = "C:\docs\data.txt"
应该是您希望保存输出文件的位置,包括文件的实际名称。 请记住,您希望输出文件位于的文件夹应该已经存在。 如果无法find该文件夹,则不会创build该文件夹。
4)从菜单栏中,单击工具 ,然后单击参考 。 确保“Microsoft Office 14.0对象库”以及“Microsoft Word 14.0对象库”都被选中,然后点击确定( 详见截图 )
5)将文档保存为.xlsm文件(此文件types支持macros)
6)closuresVBA编辑器。 回到Excel中,在function区上单击“ 查看” ,然后单击“ macros” 。 您的新macros应该在ExportToTXT列表中
7)select它并点击运行。
Sub ExportToTXT() Dim DocPath As String Dim MsgBoxCompleted Columns("A").Select Dim AppWord As Word.Application Set AppWord = CreateObject("Word.Application") AppWord.Visible = False Selection.Copy DocPath = "C:\docs\data.txt" 'Create and save txt file AppWord.Documents.Add AppWord.Selection.Paste AppWord.ActiveDocument.SaveAs2 Filename:=DocPath, FileFormat:=wdFormatText Application.CutCopyMode = False AppWord.Quit (wdDoNotSaveChanges) Set AppWord = Nothing MsgBoxCompleted = MsgBox("Process complete.", vbOKOnly, "Process complete") End Sub
祝你好运,如果你有任何问题,请不要犹豫。
注意:这些方向可能看起来过于简单,但是我写下了这样的答案,以便将来有可能帮助其他人。
编辑
更改
DocPath = "C:\docs\data.txt"
至
DocPath = "C:\docs\data.fcf"
并改变
AppWord.ActiveDocument.SaveAs2 Filename:=DocPath, FileFormat:=wdFormatText
至
AppWord.ActiveDocument.SaveAs2 Filename:=DocPath
输出文件将是.fcf格式。 它是否会正常打开是我不确定的。 你必须在你正在使用的程序中进行testing。