VBAテキストファイルを開く

簡単!!エクセルVBAメモ

3.VBA応用(使用ケース集)

テキストファイルを開く


 テキストファイルを開いて、エクセルで処理するというケースは比較的多いと思います。

 【サンプル処理イメージ】
  @マクロを実行
  A読み込むファイルを選択する(以下画面が表示されるので選択する)
  B読み込んだファイルをエクセルのA列に貼り付ける
  ※今回はA列に貼り付けているだけですが、色々と応用可能な処理です。

  【マクロ実行したら↓の画面が表示され、入力ファイルを選ぶ】
 
    


VBAサンプル
============================================
=== 開始!!===================================
============================================

Sub ファイルオープン()
    
'**********************************
'*** 1.定義
'**********************************
   '変数宣言
    Dim fileName As String      ' ファイル名(パスとフォルダ)
    Dim fileNo As Integer
    
    Dim iii As Long             'WKの数字
    Dim xlAPP As Application    'Applicationオブジェクト
    
    Dim in_data As String       '読み込んだレコード内容を保存
    
    
'**********************************
'*** 2.メイン処理
'**********************************
   
 '@入力テキストの情報を取得する======
   'Applicationオブジェクト取得
    Set xlAPP = Application
    fileName = xlAPP.GetOpenFilename()
      
      
   'キャンセルされた場合はFalseが返るので以降の処理は行なわない
    If fileName = "False" Then
       Exit Sub
    End If
  '===================================

 'Aファイルの入力====================
  'FreeFile値の取得(以降この値で入出力する)
    fileNo = FreeFile
    
 
  'ファイルを開く
    iii = 1 'カウント用
    Open fileName For Input As #fileNo
    
  'ファイルを全件読み込む
    Do Until EOF(fileNo)
       '改行までをレコードとして読み込む(分割する(,等)場合はSplit関数等を使ったり)
        Line Input #fileNo, in_data
       '入力データをエクセルに貼り付けていく
        Cells(iii, "A").Value = in_data
        iii = iii + 1
    Loop
    
  'ファイルを閉じる
    Close #fileNo
    
  ' 終了の表示
    MsgBox "ファイル読み込みが完了しました。" & vbCr & _
        "レコード件数=" & iii & "件"

End Sub

============================================
=== 終了!!===================================
============================================





  トップページへ戻る