PeaceJetのブログ

金融系の社内エンジニアをやりながら、マーケティングやデータ分析などもやっています。

テキストファイルを読み込んでみよう。【VBA・エクセルマクロ】

今回は、テキストファイルをVBAを使用して、
ワークシートへ読み込む方法をご紹介します。

キモは2つのステートメント

  1. 「Openステートメント
  2. 「Line Input #ステートメント

まずは「Openステートメント」でファイルを開く。

「Openステートメント」を使用してファイルを開いたら、
そのファイルにしるしをつけましょう!
しるしは数字を使用し、番号札のように付与します。

Open ファイルパス For Input As #番号

※例では、番号を1とします。

次に「Line Input #ステートメント」でテキストを読む。

つづいて、「Line Input #ステートメント」を使用し、
テキストファイルを一行ずつ読み込んでいきます。

Line Input  #番号, 格納する変数

'例
Open "C:\myData\test.txt" For Input As #1

さっそく、読み込んでみよう。

サンプルプログラムでは、以下のような仕様となっております。

  1. テキストファイルを読み込む。
  2. ワークシートの"Sheet1"へ書き込む。
Sub ファイル読込()
    
    Dim TargetText As String
    Dim CurrentRow As Long
    '通常は1で問題ないと思います。
    Const FileNumber = 1
    '以下は適宜変更してください。
    Const FilePath = "C:\Users\XXXXXXXXXX\Desktop\test.txt"
    
    Open FilePath For Input As #FileNumber
    Sheets("Sheet1").Cells.Clear
    
    '変数を初期化
    CurrentRow = 1
    
    Do Until EOF(FileNumber)
         Line Input #FileNumber, TargetText
         Sheets("Sheet1").Cells(CurrentRow, 1).Value = TargetText
         CurrentRow = CurrentRow + 1
    Loop
    
    Close #FileNumber

End Sub