【发布时间】:2013-01-18 08:22:14
【问题描述】:
需要从 excel 行创建文本文件。 第 1 列应包含文件名,第 2 列应包含文本文件的内容。每行都将具有该新文本文件的新文件名或新内容。此外,文本的内容应该分成几行。 如何做到这一点?谢谢。
【问题讨论】:
-
那么-到目前为止,您尝试了什么?
标签: excel excel-2007 excel-formula excel-2010 vba
需要从 excel 行创建文本文件。 第 1 列应包含文件名,第 2 列应包含文本文件的内容。每行都将具有该新文本文件的新文件名或新内容。此外,文本的内容应该分成几行。 如何做到这一点?谢谢。
【问题讨论】:
标签: excel excel-2007 excel-formula excel-2010 vba
将文本分隔为行的编辑解决方案。
对于示例,使用了以下字符:
;:,/|
根据需要向 RegEx 模式添加新的分隔符。完整代码如下:
Sub Text2Files()
Dim FileStream As Object
Dim FileContent As String
Dim i As Long
Dim SavePath As String
Dim RegX_Split As Object
Set RegX_Split = CreateObject("VBScript.RegExp")
RegX_Split.Pattern = "[\;\:\,\\\/\|]" 'List of used line seperators as \X
RegX_Split.IgnoreCase = True
RegX_Split.Global = True
Set FileStream = CreateObject("ADODB.Stream")
SavePath = "D:\DOCUMENTS\" 'Set existing folder with trailing "\"
For i = 1 To ThisWorkbook.ActiveSheet.Cells(1, 1).CurrentRegion.Rows.Count
FileContent = RegX_Split.Replace(ThisWorkbook.ActiveSheet.Cells(i, 2).Text, vbNewLine)
FileStream.Open
FileStream.Type = 2 'Text
FileStream.Charset = "UTF-8" 'Change encoding as required
FileStream.WriteText FileContent
FileStream.SaveToFile SavePath & ThisWorkbook.ActiveSheet.Cells(i, 1).Text, 2 'Will overwrite the existing file
FileStream.Close
Next i
End Sub
上面代码的示例文件在这里:https://www.dropbox.com/s/kh9cq1gqmg07j20/Text2Files.xlsm
【讨论】:
TextContents1我如何在此处添加换行符在文字之间?非常感谢!