• ベストアンサー

エクセルの各セルの内容をそれぞれ1つずつテキストファイルに出力する方法

掲題の件についてご存知の方がいらっしゃいましたらご教示ください。 エクセルファイルの列Aの内容がタイトルで、列Bの内容が本文であるテキストファイルを作成したいと考えています。 例えば、エクセルファイルに以下のようなデータを保持しているとします。 列A  列B 001  あいうえお 002  かきくけこ 003  さしすせそ この場合、001.txtは本文が「あいうえお」、002.txtは本文が「かきくけこ」、003.txtは本文が「さしすせそ」というように、エクセル1行についてテキストファイルを1つ作成したいと考えています。 このような処理を短時間で実施するのに適した方法をご存知の方がいらっしゃいましたらご教示いただければと思います。 どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答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

iloveganko
質問者

お礼

どうもありがとうございます。こちらのモジュールで問題なく実行できました。テストまでしていただいて本当にありがたいです。 今後とも何かありましたらどうぞよろしくお願いいたします。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答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

iloveganko
質問者

お礼

どうもありがとうございます。 回答No.3の方に紹介いただいたモジュールで実施できましたので申し訳ありませんがこちらは試しておりません。回答いただいたのに申し訳ないです。 今後ともよろしくお願いいたします。

  • v6arxzmd
  • ベストアンサー率32% (16/49)
回答No.1

ご参考にされてください

参考URL:
http://riko.s235.xrea.com/Excel-VBA/excel4-10-003.html
iloveganko
質問者

お礼

どうもありがとうございます。 実はご紹介いただいたURLは既に参照していたのですが、当方の知識不足からか、実施したい内容は実現できないように思っていました。 もし実現できるようであれば補足いただければ大変ありがたく思います。

関連するQ&A

専門家に質問してみよう