• ベストアンサー

EXCELのマクロでテキストを読み込む方法

EXCELのマクロを使って、テキストファイルから、ある文字列を検索し、コピーしEXCELのシートのセルにペーストするマクロの書き方をご存知の方は、ご教示願います。 例えば、テキストファイル中の「dog」という文字列を検索して、EXCELの決まったセル(A、1)にコピペするというマクロです。 よろしくお願い申し上げます。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

色々方法はあると思うけど、 Dim objFs, file, filename Dim oneLine Set objFs = CreateObject("Scripting.FileSystemObject") Application.FileDialog(msoFileDialogOpen).Show filename = Application.FileDialog(msoFileDialogOpen).SelectedItems(1) 'filename = "E:\Work\sample\Excel\fileread\data.txt" Set file = objFs.OpenTextFile(filename, 1) 'read Only Do Until file.AtEndOfStream oneLine = file.ReadLine If InStr(oneLine, "dog") <> 0 Then Sheets("sheet2").Range("A1").Value = "dog" 'oneLine 'データの書き出し Exit Do End If Loop file.Close 見たいな感じで、 DOG,Dog,dogなどにも対応させるには、もう一工夫必要ですけどね。 「dog」を探してdogをセルにそのまま入れるのは、あんまり意味がないような気がします。 勘違いしてますか、私。

chukanshi
質問者

お礼

早速のご回答ありがとうございます。テキストファイルから単語を検索する部分が特にわからなかったので全然勘違いではないです。ありがとうございました。

その他の回答 (1)

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.2

If InStr(oneLine, "dog") <> 0 Then を If InStr(Ucase(oneLine), Ucase("dog")) <> 0 Then にしたら、 大文字、小文字入り混じっても大丈夫です。

chukanshi
質問者

お礼

ご回答ありがとうございます。早速やってみます。ご親切に御礼申し上げます。

関連するQ&A