【ExcelVBA】テキストファイル内の文字列を検索

ExcelVBA, ファイルの操作

テキストファイル内の文字列を検索してヒットした場合は、その文字列が存在する行全体をイミディエイト画面に出力します。

下記のサンプルは、読み込むテキストファイルはCSVファイル(1行目がヘッダー行)だとして説明しています。

イミディエイト画面に一行ずつ出力

Sub Sample()
 
  Dim Buf As String
  Dim STR As String
  
  STR = "0.785421" '検索ワード
 
  Open "E:\Book1.csv" For Input As #1
   
  Line Input #1, Buf 'ヘッダー行を無視したいため1行目を予め無駄に読み込む
  Do Until EOF(1)
    Line Input #1, Buf
     
    If InStr(Buf, STR) <> 0 Then
      Debug.Print Buf
    End If
  
  Loop
  Close #1
End Sub