Excelの行からテキストファイルを作成する必要があります。列1にはファイル名を含め、列2にはテキストファイルの内容を含める必要があります。各行には、その新しいテキストファイルの新しいファイル名または新しいコンテンツが含まれます。また、テキストの内容はいくつかの行に分割する必要があります。これを達成する方法は?ありがとうございました。
質問する
2096 次
1 に答える
2
行へのテキスト区切りを使用した編集済みソリューション。
サンプルでは、次の文字が使用されています。
;:、/ |
必要に応じて、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
- ADOストリームオブジェクトの詳細については、 http ://www.w3schools.com/ado/ado_ref_stream.aspをご覧ください。
- 初心者向けの正規表現:http: //www.jose.it-berater.org/scripting/regexp/regular_expression_syntax.htm
上記のコードのサンプルファイルはこちらです:https ://www.dropbox.com/s/kh9cq1gqmg07j20/Text2Files.xlsm
于 2013-01-18T09:09:01.070 に答える