将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。