使用VB-macro转换为文本(包括单元格内的换行符)

时间:2013-08-07 11:52:38

标签: excel excel-vba line-breaks vba

我想将Excel工作表转换为多个文本文件。该表包含两列:

  • 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。我怎么能改变呢?感谢。

2 个答案:

答案 0 :(得分:3)

替换此

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

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

还有一个提示!不要使用.Text。使用.Value

答案 1 :(得分:0)

首先,您应该只打开文本文件,而不是每个单元格 然后就可以了

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

对于单元格文本和新行。