【VBA】テキストファイルを読み込む

VBA
この記事は約2分で読めます。

VBAでテキストファイルを読み込んで、テキストファイルの内容をVBAで利用することができます。

Shift-JISファイルのテキストファイルを読み込む

VBAでShift-JISのテキストファイルを読み込むにはMicrosoft Scripting RuntimeのFileFileSystemObjectを
使用して、テキストファイルを読み込みます。

事前に参照設定でMicrosoft Scripting Runtimeを選択しておく必要があります。
参照設定は下記の内容を参照してください。

VBAで参照設定を行う
VBAに標準で含まれていない機能があるときは 外部のライブラリを参照して、外部ライブラリ内の機能を利用します。 この外部ライブラリの機能を利用する設定を、参照設定と言います。

Microsoft Scripting RuntimeのFileFileSystemObjectを使用してテキストファイルの内容を読み込むコードは
以下になります。

下記の内容のShift-JISのテキストファイルを読み込んで、メッセージボックスに表示してみます。

ReadTextFileを利用してテキストファイルの内容をメッセージボックスに表示すると
下記のように表示されます。

 

UTF-8のテキストファイルを読み込む

上記のShift-JISのコードでUTF-8のテキストファイルを読み込むと文字化けします。
UTF-8のテキストファイルを読み込むためにはADODB.streamを使用します。
事前に参照設定でMicrosoft ActiveX Data Objects Libraryを選択しておく必要があります。

文字コードUTF-8、改行コードLFのテキストファイルを読み込むことを想定したコードは下記になります。

ADODB.streamのパラメータにそれぞれ下記の値を設定します。

Charset utf-8
LineSeparator adLF

ADODB.streamのreadText関数でテキストを行単位で読み込むためにadReadLineを指定してます。

 

コメント