VBAを使用すると、CSVファイルにデータを書き込むことができます。CSVファイルは、カンマで区切られた値を含むテキストファイルです。以下では、VBAを使用して新しいCSVファイルにデータを書き込む方法と、既存のCSVファイルにデータを追記する方法について説明します。
新規書き込みする場合
新しいCSVファイルを作成して、データを書き込む手順は以下のとおりです。
ステップ1: ファイルを作成する
Dim fileNumber As Integer
fileNumber = FreeFile()
Open "C:\example.csv" For Output As fileNumber
FreeFile
関数を使用して、ファイル番号を取得します。そして、Open
ステートメントを使用して、ファイルを作成し、ファイル番号を割り当てます。
ステップ2: データを書き込む
Print #fileNumber, "1,2,3"
Print #fileNumber, "4,5,6"
Print
ステートメントを使用して、データをファイルに書き込みます。各行の値はカンマで区切られています。この例では、2つの行が書き込まれ、それぞれ3つの値が含まれています。
ステップ3: ファイルを閉じる
Close #fileNumber
Close
ステートメントを使用して、ファイルを閉じます。これで、新しいCSVファイルにデータが書き込まれました。
追記する場合
既存のCSVファイルにデータを追記する手順は以下のとおりです。
ステップ1: ファイルを開く
Dim fileNumber As Integer
fileNumber = FreeFile()
Open "C:\example.csv" For Append As fileNumber
FreeFile
関数を使用して、ファイル番号を取得します。そして、Open
ステートメントを使用して、既存のファイルを開き、ファイル番号を割り当てます。For Append
パラメータを使用することで、既存のファイルにデータを追記することができます。
ステップ2: データを書き込む
Print #fileNumber, "7,8,9"
Print #fileNumber, "10,11,12"
Print
ステートメントを使用して、データをファイルに書き込みます。各行の値はカンマで区切られています。この例では、2つの行が書き込まれ、それぞれ3つの値が含まれています。
ステップ3: ファイルを閉じる
Close #fileNumber
Close
ステートメントを使用して、ファイルを閉じます。これで、既存のCSVファイルにデータが追記されました。
実装例
以下の例は、新しいCSVファイルにデータを書き込む方法を示しています。
Sub WriteToCSV()
Dim fileNumber As Integer
fileNumber = FreeFile()
Open "C:\example.csv" For Output As fileNumber
Print #fileNumber, "Name, Age, Gender"
Print #fileNumber, "John, 25, Male"
Print #fileNumber, "Sarah, 30, Female"
Close #fileNumber
End Sub
この例では、”Name”、”Age”、”Gender”というヘッダー行と、2つのデータ行が含まれるCSVファイルが作成されます。
以下の例は、既存のCSVファイルにデータを追加する方法を示しています。
Sub AppendToCSV()
Dim fileNumber As Integer
fileNumber = FreeFile()
Open "C:\example.csv" For Append As fileNumber
Print #fileNumber, "Tom, 35, Male"
Print #fileNumber, "Lisa, 28, Female"
Close #fileNumber
End Sub
この例では、既存のCSVファイルに2つのデータ行が追加されます。
練習問題
以下の練習問題では、新しいCSVファイルを作成し、いくつかのデータを書き込みます。
問題
新しいCSVファイルを作成し、以下のデータを書き込んでください。
Name | Age | Gender |
---|---|---|
John | 25 | Male |
Sarah | 30 | Female |
Bob | 40 | Male |
Mary | 35 | Female |