2014-10-01 33 views
4

我期待让我的宏保存一个新的工作表,我创建一个.txt文件。这是迄今为止的代码。如何保存为.txt在vba

Sub Move() 
' 
' Move Macro 
' 
' Keyboard Shortcut: Ctrl+m 
' 
Sheets("Sheet1").Select 
Range("A1").Select 
Range(Selection, Selection.End(xlToRight)).Select 
Range(Selection, Selection.End(xlDown)).Select 
Selection.Copy 
Workbooks.Add 
ActiveSheet.Paste 

ActiveWorkbook.SaveAs Filename:="e:" & _ 
"HDR" + Format(Now(), "YYYYMMDDhhmmss") & ".txt" 

End Sub 

这包括我的宏。我在将它保存为.txt文件的最后部分遇到问题。
我目前在我的.txt文件中有一堆废话,这里是一个例子,
“PK!!” - [Content_Types] .xml(tTNN07) - 1 1 ... ...'' PÚ3¶ÐμMOÁñöž•Y”。
任何帮助将是巨大的。

+0

仅供参考,不能多张保存为文本文件。如果您手动尝试,则会发出警告,只有活动工作表会被保存。 – DeanOC 2014-10-01 21:44:15

回答

3

手动更改文件名的扩展名并没有实际更改文件类型,SaveAs方法将文件类型的参数,你想要的代码

ActiveWorkbook.SaveAs Filename:="e:" & "HDR" + Format(Now(), "YYYYMMDDhhmmss") _ 
& ".txt", FileFormat:= xlTextWindows 

从Excel帮助中搜索XlFileFormat将帮助您(几乎)获取可能的文件格式的完整列表,其中包括6种文本格式和4种CSV格式。

+0

谢谢你工作完美! – 2014-10-02 13:53:05

2

将txt添加到名称不会自动将单词文档编码为纯文本格式。

而是试图

ActiveWorkbook.SaveAs Filename:="e:" & _ 
"HDR" + Format(Now(), "YYYYMMDDhhmmss") & ".txt", FileFormat:=wdFormatText, Encoding:=1252