ExcelVBAでテキストファイルを読み込んでみる
どうも、じゃらしです。
引き続きExcelVBAのネタです。
前回はExcelVBAでテキストファイルを作成しました。
twitpokej.hatenablog.com
今回はテキストファイルを読み込んでみます。
前回と同じく「FileSystemObject」と「TextStream」というオブジェクトを使用します。
参照設定の方法については↑の過去記事をご覧ください。
読み込み用のテキストファイルを用意しておきます。
Sub test() Dim fso As New FileSystemObject Dim ts As TextStream Dim filePath1 As String filePath1 = "C:\wk\test.txt" Set ts = fso.OpenTextFile(filePath1, ForReading) '一行ずつ読む With ts Do Until .AtEndOfStream MsgBox .ReadLine, Title:="test" Loop .Close End With Dim filePath2 As String filePath2 = "C:\wk\test2.txt" Set ts = fso.OpenTextFile(filePath2, ForReading) '全行一気に読む MsgBox ts.ReadAll, Title:="test2" ts.Close End Sub
「FileSystemObject」には、テキストファイルを開くメソッドとして「OpenTextFile」が用意されています。
ファイルを開いた後、テキストを読み込むために「TextStream」のメソッドを使用します。
今回は、以下のメソッドを使用しました。
- ReadLine -文字列を一行読み込む
- ReadAll -文字列を全行読み込む
一行ずつ読み込んで処理をさせたい場合は「ReadLine」
一気に読み込んでも問題ない場合は「ReadAll」の方が高速です。
以上、それではまた。