今回は、VBA(Visual Basic for Applications)を使用して外部データ(CSVファイルやテキストファイル)を読み込む方法について学んでいきましょう。外部データを読み込むことで、Excelなどのアプリケーションでデータの自動処理を行うことが可能になります。
まずは、CSVファイルを読み込む方法について見ていきましょう。
Sub ImportCSVFile()
Dim fileName As String
Dim wb As Workbook
Dim ws As Worksheet
' ファイルを選択するダイアログを表示し、ファイル名を取得する
fileName = Application.GetOpenFilename("CSVファイル (*.csv), *.csv")
' ファイルが選択された場合のみ処理を続行する
If fileName <> "False" Then
' 新しいブックを作成し、データをインポートする
Set wb = Workbooks.Add
Set ws = wb.Sheets(1)
With ws.QueryTables.Add(Connection:="TEXT;" & fileName, Destination:=ws.Range("A1"))
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True ' CSVファイルの場合、カンマ区切り
.Refresh
End With
End If
End Sub
この例では、CSVファイルを選択し、新しいブックにデータをインポートするVBAのサブルーチンを示しています。
次に、テキストファイルを読み込む方法について見ていきましょう。
Sub ImportTextFile()
Dim fileName As String
Dim textLine As String
Dim rowNum As Integer
' ファイルを選択するダイアログを表示し、ファイル名を取得する
fileName = Application.GetOpenFilename("テキストファイル (*.txt), *.txt")
' ファイルが選択された場合のみ処理を続行する
If fileName <> "False" Then
Open fileName For Input As #1
rowNum = 1
Do Until EOF(1)
Line Input #1, textLine
Cells(rowNum, 1).Value = textLine
rowNum = rowNum + 1
Loop
Close #1
End If
End Sub
この例では、テキストファイルを選択し、セルにテキストを行ごとに読み込むVBAのサブルーチンを示しています。
外部データの読み込みは、VBAを使ってExcelなどのアプリケーションで重要な作業です。CSVやテキストファイルからデータを取り込み、必要な処理を自動化することで、効率的な作業が可能になります。