2017年6月1日

【Excel】テキストファイルから読み込んだデータをセルに格納するマクロ


テキストファイルから読み込んだデータをセルに格納するマクロです。

たとえば、このようなテキストファイルのデータを読み込むとします。




そして、シートに[読込]ボタンを設置し、Clickイベントハンドラに次のように記述します。

Sub button1_Click()

    Dim i As Integer
    Dim bufStr As String
    Dim filePath As String
    
    filePath = "C:\work\Excel\output.txt"

    'ファイルのオープン
    Open filePath For Input As #1
    
    i = 2
    
    Do While Not EOF(1)
    
        'ファイルから一行読込む
        Line Input #1, bufStr
        
        '読み込んだデータをセルに格納
        Cells(i, 2).Value = bufStr
        
        i = i + 1
    Loop
    
    'ファイルを閉じる
    Close #1

End Sub

少し解説すると、まず、OpenステートメントのInputモードでファイルを開きます。

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

次に、EOF(ファイル番号)関数がFalseの間、繰り返しLine Inputを使いファイルから1行ずつデータを読み込みます。

構文
Line Input #ファイル番号, データを格納する変数

そして、最後にCloseステートメントでファイルを閉じます。



実行結果






comments powered by Disqus