こんにちは。
本日はVBAのサンプルです。
概要
ファイルを読み込み、エクセルに表示したい。
よく忘れるのでメモ。
サンプル
CSVファイルの内容をエクセルに表示します。
読み込みに使用するのはLine Input #ファイル番号, 変数名
filenumberには、任意のファイル番号を指定し、
varnameには、変数名を指定します。
ファイルの最終行かどうかは、EOF(filenumber)を使用して判定しています。
EOFは、ファイルの終点の場合にTrueを返します。
今回は、CSVファイルなのでカンマ区切りを想定した処理となっていますが、
区切り文字の指定を調整することで様々なファイル形式を読み込むことが可能です。
Sub ReadFile() Dim sheetName As String: sheetName = "出力シート" Dim fileName As String: fileName = "C:hoge.csv" Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets(sheetName) Dim outputIdx As Long: outputIdx = 1 Dim count As Long: count = 1 On Error GoTo ErrorProcess Dim textline As String Open fileName For Input As #1 Do Until EOF(1) Line Input #1, textline ' カンマ単位でデータを取得 Dim arr As Variant: arr = Split(textline, ",") Dim i As Integer For i = 0 To UBound(arr) ws.Cells(outputIdx, i + 1).Value = arr(i) Next i outputIdx = outputIdx + 1 Loop Close #1 MsgBox "完了しました。" Exit Sub ErrorProcess: Close #1 MsgBox "失敗しました。" End Sub
以上です。