OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:636
区分:プログラム  |  分類:VB  |  最終更新日:2014/12/04
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【VB6/VBA】テキストファイルを読み込む
関連タグ:vb6, vba, ファイル入出力
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 38,611
VB6関連技術まとめ > 【VB6/VBA】テキストファイルを読み込む

VB6・VBA でテキストファイルを読み込むには、まず Open ステートメントでテキストファイルを開き、Line Input # ステートメントでテキストを一行ずつ読み込み、最後に Close ステートメントでファイルを閉じるといった処理を行います。ファイルの中身を一度に読み込むような便利クラスは VB6・VBA にはありません。

 

【サンプルコード】

Public Sub sample()
    Dim intCount As Integer
    Dim intNo As Integer
    Dim strFileName As String
    Dim strBuff As String
    Dim strArray() As String
    
    ' 読み込むファイルを設定
    strFileName = "C:\tmp\sample.txt"
    
    ' ファイルオープン
    intNo = FreeFile()                      ' フリーファイルNoを取得
    Open strFileName For Input As #intNo    ' ファイルをオープン
    
    ' ファイルの読み込み
    intCount = 0
    Do Until EOF(intNo)                     ' ファイルの最後までループ
        Line Input #intNo, strBuff          ' ファイルから一行読み込み
        ReDim Preserve strArray(intCount)   ' 配列長を変更
        strArray(intCount) = strBuff        ' 配列の最終要素に読み込んだ値を代入
        intCount = intCount + 1             ' 配列の要素数を加算
    Loop
    
    ' ファイルクローズ
    Close #intNo
    
    ' 読み込んだ値を確認
    Dim i As Integer
    For i = 0 To UBound(strArray)
        Debug.Print strArray(i)
    Next i
    
End Sub

 

上記サンプルは「C:\tmp\sample.txt」を読み込み、配列に格納後、読み込んだテキストをデバッグ表示しています。ファイルをオープンする際はファイル番号を指定する必要がありますが、通常、この番号は FreeFile 関数で取得します。また、テキストファイルは一行ずつ読み込みますが、その際に、ファイルの終端を検知するのが EOF 関数になります。EOF 関数はEOF 関数はランダムアクセスモードまたはシーケンシャル入力モードで開いたファイルの現在位置がファイルの末尾に達している場合に True を返します。

関連記事
外部リンク
外部リンクはありません。
- 記事検索 -