
掲題の件についてご存知の方がいらっしゃいましたらご教示ください。
エクセルファイルの列Aの内容がタイトルで、列Bの内容が本文であるテキストファイルを作成したいと考えています。
例えば、エクセルファイルに以下のようなデータを保持しているとします。
列A 列B
001 あいうえお
002 かきくけこ
003 さしすせそ
この場合、001.txtは本文が「あいうえお」、002.txtは本文が「かきくけこ」、003.txtは本文が「さしすせそ」というように、エクセル1行についてテキストファイルを1つ作成したいと考えています。
このような処理を短時間で実施するのに適した方法をご存知の方がいらっしゃいましたらご教示いただければと思います。
どうぞよろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
Wendy02さんとかぶってしまいました。
ほぼ同じ事をしていますが、折角作ったので、投稿しておきます。空白行を出力する事は無いだろうと、上から空セルが出現するまでループしています。1000文字以上のセルで動作確認しました(XL2000)。
My Doocumentsに作成する仕様です。
Sub Sample()
Dim FSO As Object
Dim filePath As String
Dim i As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
filePath = getMyDocumentsPath & "\"
i = 1
Do While Range("A" & i).Value <> ""
With FSO.OpenTextFile(filePath & Range("A" & i).Value & ".txt", iomode:=2, create:=True)
.Write Range("B" & i).Value
.Close
End With
i = i + 1
Loop
Set FSO = Nothing
End Sub
Private Function getMyDocumentsPath() As String
Dim objWshShell As Object
Set objWshShell = CreateObject("Wscript.Shell")
getMyDocumentsPath = objWshShell.SpecialFolders("MyDocuments")
Set objWshShell = Nothing
End Function
どうもありがとうございます。こちらのモジュールで問題なく実行できました。テストまでしていただいて本当にありがたいです。
今後とも何かありましたらどうぞよろしくお願いいたします。
No.2
- 回答日時:
こんにちは。
出力する場所を自分の場所に合わせて実行してください。
'---------------------------------------------------
'標準モジュール
Sub OutPutMacro()
Dim fs As Object
Dim objTxt As Object
Dim i As Long
Dim orgPath As String
orgPath = CurDir
'上書きオプション
Const OVRW As Boolean = False
'出力する場所
ChDir "D:\"
Set fs = CreateObject("Scripting.FileSystemObject")
For i = 1 To Range("A65536").End(xlUp).Row
If Cells(i, 1).Value <> "" Then
Set objTxt = fs.CreateTextFile(Cells(i, 1).Text & ".txt", OVRW)
objTxt.WriteLine (Cells(i, 2).Text)
objTxt.Close
End If
Next i
ChDir orgPath
Set fs = Nothing
End Sub
どうもありがとうございます。
回答No.3の方に紹介いただいたモジュールで実施できましたので申し訳ありませんがこちらは試しておりません。回答いただいたのに申し訳ないです。
今後ともよろしくお願いいたします。
No.1
- 回答日時:
どうもありがとうございます。
実はご紹介いただいたURLは既に参照していたのですが、当方の知識不足からか、実施したい内容は実現できないように思っていました。
もし実現できるようであれば補足いただければ大変ありがたく思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/14 12:49
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
テキストファイルで提出とは?
-
ファイル内容の修正、行削除に...
-
リモートのファイル存在確認
-
psqlでエラーログをとりたい
-
ファイル名の一部をbatで変更し...
-
forコマンドのdelimsオプション...
-
Windowsのバッチファイルを利用...
-
renameコマンドについて
-
エクセルの各セルの内容をそれ...
-
ファイルを処理中に次の処理に...
-
VBSでフォルダ内のテキストファ...
-
Windows マシンでFTPバッチが動...
-
Excel VBAの文字列と数値の分類
-
バッチファイル 複数ファイル...
-
cshでファイルサイズ取得
-
バッチ(bat)でリストファイルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
拡張子を元に戻す
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
多数のサブディレクトリ内のフ...
-
psqlでエラーログをとりたい
-
COPYコマンドで結合すると余計...
-
エクセルの各セルの内容をそれ...
-
バッチファイルで文字列削除に...
-
ファイルの最後に文字列挿入
-
UWSCでテキストファイルを開い...
-
バッチファイル 複数ファイル...
-
renameコマンドについて
-
ファイル名の一部をbatで変更し...
-
forfilesで検索したファイルを...
-
外部exeに対しての引数受け渡し
-
Windowsのバッチファイルを利用...
-
VBSでフォルダ内のテキストファ...
-
VBAでエクセルをtxtに変換する...
-
ExcelVBA テキストファイルUNIC...
おすすめ情報