Excelで外部テキストファイルの内容をセルに表示する

Excelで外部テキストファイルの内容をセルに表示する方法

Excelには様々な機能がありますが、その中には直接外部のテキストファイルの内容をセルに表示する関数は含まれていません。しかし、VBA (Visual Basic for Applications) のユーザー定義関数を使用すればこのタスクを達成することができます。

CSVファイルやタブ区切りテキストファイルの内容を1セルに表示させることができるユーザ定義関数を紹介します。

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

以下にその手順を示します:

  1. {Alt}+{F11}キーでVBAエディタを開きます。。
  2. VBAエディタが開いたら、「挿入」メニューから「標準モジュール」を選択します。
  3. 新しいモジュールが作成されたら、以下のVBAコードを入力します:

Function ReadTextFile(filePath As String) As String
    Dim textData As String
    Dim textFile As Integer

    textFile = FreeFile
    Open filePath For Input As textFile
    textData = Input$(LOF(textFile), textFile)
    Close textFile

    ReadTextFile = textData
End Function
    

4. 「Ctrl + S」を押して保存し、VBAエディタを閉じます。

これで準備は完了です。Excelのセルに以下のように入力すると、テキストファイルの内容が表示されます:


=ReadTextFile("C:\test00\note100.txt")
    

またこの関数は「ユーザー定義」グループの関数として利用できます(関数の挿入、から)。

注意事項

VBAを使うとExcelがマクロを含むファイルとなりますので、保存の際にはマクロを有効にする必要があります(通常は「.xlsm」形式で保存します)。また、マクロのセキュリティについても注意が必要です。

このように、VBAを使うことでExcelでも外部テキストファイルの内容をセルに表示することが可能となります。これはファイルの内容を常に最新の状態に保つことが必要な時などに非常に便利です。

コメント