我正在尝试将工作表中一列的值复制到文本文件中。我目前的代码导致运行时错误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"
我将整个工作表转换为文本而不仅仅是工作表中的文本。有一种简单的方法可以做到这一点吗?
提前致谢!
答案 0 :(得分:5)
不确定您拥有哪个Excel版本但我没有看到SaveToText
的方法。
但是这个程序应该有效,或者至少让你开始......
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"
答案 1 :(得分:2)
这旨在用作宏。
分步指南:
1)从excel,按键盘上的Alt + F11。
2)在菜单栏中,点击插入,然后点击模块
3)将下面提供的代码复制并粘贴到打开的新模块中。
注意: DocPath = "C:\docs\data.txt"
应该是您希望保存输出文件的位置,包括文件的实际名称。请记住,您希望输出文件所在的文件夹应该是ALREADY存在。如果找不到该文件夹,则不会创建该文件夹。
4)在菜单栏中,单击工具,然后单击参考。确保&#34; Microsoft Office 14.0对象库&#34;以及&#34; Microsoft Word 14.0对象库&#34;检查,并点击好(See screenshot for details)
5)将文档另存为 .xlsm 文件(此文件类型支持宏)
6)关闭VBA编辑器。返回Excel,在功能区上单击查看,然后单击宏。您的新宏应位于列表中 ExportToTXT
7)选择它并点击运行。
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 格式。它是否能正常打开是我不确定的。您必须在正在使用的程序中进行测试。