2013-10-30 46 views
1

我無法找到有關從Excel複製/粘貼範圍到記事本文本文件的乾淨回答。我所嘗試的(For Each Cell)不會給我所需的輸出(所有內容都在一列中)。將範圍選擇複製到文本文件

這下面的代碼工作得很好:

With Application 
Selection.Copy 
Shell "notepad.exe", 3 
SendKeys "^v" 
VBA.AppActivate .Caption 
.CutCopyMode = False 
End With 

但我想將文件保存在專用路徑不必用記事本手工處理。 要複製的單元格是文本,並且輸出必須用空白分隔,並考慮行&列。

我找到了解決方案,將選擇複製到另一個Woksheet,然後將其保存爲文本,但對我而言聽起來相當沉重,對我的工作簿來說太過沉重或沉重。 我的問題似乎很愚蠢,但我真的找不到一個乾淨的答案,最重要的是,我會理解的代碼。

+1

複製到一個新的工作簿並保存爲文字是一種可接受的方法。或者這:http://stackoverflow.com/questions/11503174/how-to-create-and-write-to-a-txt-file-using-vba或者這個:http://www.homeandlearn.org/write_to_a_text_file .html –

+0

我寧願從循環中飛走。 – gabx

+0

這是你的代碼 - 你可以施加任何你喜歡的限制。 –

回答

2
Sub writeCells() 
Dim strPath As String 
Dim strName As String 
Dim FSO As Object 
Dim oFile As Object 
Dim c As Range 

strName = "YourFileName.txt" 
strPath = "C:\Your\Path\" 

Set FSO = CreateObject("Scripting.FileSystemObject") 


Set oFile = FSO.CreateTextFile(strPath & strName) 

For Each c In Selection 
    oFile.Write c.Value & " " 
Next c 

oFile.Close 

End Sub 

在此示例中,選擇了A1:B10

所以從空白文件:

enter image description here

運行此宏後並重新打開我下面落得文件:

enter image description here

+0

您的解決方案是迄今爲止我所見過的最清晰,最容易理解的解決方案。我會在明天回去工作時嘗試,並最終接受它。我已經嘗試過**但是**我有一個分隔符問題。它看起來像'&「」'會完成這項工作.TY – gabx

+0

不工作。在我的file.txt中獲得一個零數組 – gabx

+0

@gabx正如我更新的答案所示,此方法確實有效。你改變的東西已經打破了它。或者您選擇的範圍是空白的。或者你嘗試將範圍轉換爲數組。 – user2140261

相關問題