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

Excel 使用VB宏转换为文本(包括单元格内的换行符),excel,line-breaks,vba,Excel,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

我想将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
有人能帮我吗


嗨,使用悉达多建议的结果:包括换行符!但所有生成的文件都没有按照我的要求命名和保存。所有文件的名称均为S-solutions加上ColumA的内容(例如S-solutions S-4001-K-T.txt),并保存在文件夹H:\Webshop\u Zpider中。但是,我想要的是:文件名:columa的内容(例如S-4001-K-T.txt)和文件夹H:\Webshop\u Zpider\S-solutions。我怎样才能改变这一点?谢谢。

首先,您应该只打开一次文本文件,而不是每个单元格都打开 那你就可以了

Print #1, cell.Offset(0, 1).Text & vbnewline
用于单元格文本和新行。

替换此

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


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

解释提示:请参阅另一件事:所有文件的名称均为S-solutions加上ColumA的内容,并保存在文件夹H:\Webshop\u Zpider中。但是,我想要的是:文件名:columa的内容和文件夹H:\Webshop\u Zpider\S-solutions。我怎样才能改变这一点?谢谢你的帮助。请用你得到的结果和预期的结果更新你的问题。Hi,使用Siddharth建议的结果:包括换行符,但文件没有按照我的要求命名和保存。所有文件的名称均为S-solutions加上ColumA的内容(例如S-solutions S-4001-K-T.txt),并保存在文件夹H:\Webshop\u Zpider中。但是,我想要的是:文件名:columa的内容(例如S-4001-K-T.txt)和文件夹H:\Webshop\u Zpider\S-solutions。如何更改?请尝试此
打开“H:\Webshop\u Zpider\S-solutions\”&saveText&“.txt”以输出为#1
注意“S-solutions”后面的“\”
Print #1, Replace(cell.Offset(0, 1).Value, vbLf, vbCrLf)