2013-08-07 18 views
3

我想將Excel工作表轉換爲多個文本文件。片材包含兩列:使用VB宏(包括單元格內的換行符)轉換爲文本

  • A欄給出了所生成的文本文件
  • 列B提供內容的名稱 - 包含細胞

轉換工程,並使用下面的代碼,但內換行符換行符不會導入到文本文件 - 所有的文本是在一行:

Private Sub CommandButton1_Click() 
    Dim oTxt As Object 

    For Each cell In Ark1.Range("A1:A" & Ark1.UsedRange.Rows.Count) 
     ' you can change the sheet1 to your own choice  
     saveText = cell.Text 
     Open "H:\Webshop_Zpider\S-solutions" & saveText & ".txt" For Output As #1 
     Print #1, cell.Offset(0, 1).Text 
     Close #1 
    Next cell 
End Sub 

任何人可以幫助我嗎?

嗨,使用Siddharths建議的結果:包括換行符!但是所有生成的文件都沒有按照我的意願命名和保存。所有文件都會得到名稱S-solutions加上Colum A的內容(例如S-solutionsS-4001-K-T.txt)並保存在文件夾H:\ Webshop_Zpider中。然而,我想要的是:文件名:列A的內容(例如S-4001-K-T.txt)和文件夾H:\ Webshop_Zpider \ S-solutions。我該如何改變它?謝謝。

回答

0

首先應該打開文本文件只有一次,而不是對每一個細胞 然後,你可以做

Print #1, cell.Offset(0, 1).Text & vbnewline 

對於CELLTEXT和新的生產線。

3

替換此

Print #1, cell.Offset(0, 1).Text 

Print #1, Replace(cell.Offset(0, 1).Value, vbLf, vbCrLf) 

另外一個提示!請勿使用.Text。使用.Value

+0

解釋提示:請參閱[本](http://stackoverflow.com/questions/17359835/what-is-the-difference-between-text-value-and-value2) –

+0

非常感謝!有用。 – KEK79

+0

當然,它的工作原理:) –

相關問題