2014-10-01 66 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