2015-09-25 211 views
3

我想將工作表中一列的值複製到文本文件中。該代碼我現在有原因的運行時錯誤434將Excel工作表文本保存爲文本文件VBA

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" 

我得到轉換成文本,而不是僅僅在紙張上的文字了整個頁面。有沒有簡單的方法來做到這一點?

在此先感謝!

回答

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"

+0

非常感謝 –

+0

乾杯!高興地幫助... – WhiteHat

2

這是設計用來作爲宏。

一步一步的指導:

1)從Excel,按下Alt + F11鍵盤上。

2)從菜單欄中,單擊插入,然後模塊

3)複製並粘貼以下提供到打開的新模塊的代碼。

注意:DocPath = "C:\docs\data.txt"應該是任何你想保存輸出文件,包括文件的實際名稱。請記住,您希望輸出文件位於的文件夾應該已存在。如果無法找到該文件夾​​,則不會創建該文件夾。

4)從菜單欄點擊工具,然後參考文獻。確保兩個「的Microsoft Office 14.0對象庫」以及「Microsoft Word中14.0對象庫」進行檢查,並創下沒關係(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格式。它是否能夠正常打開是我不確定的。你必須在你正在使用的程序中進行測試。

+0

是否可以使用它來保存爲.fcf文件擴展名(由InfoWorks ICM使用)而不是.txt? –

+0

請參閱我原始答案底部的編輯。 – jtchase08

相關問題