【VBA言語】データを書込む・読込む(Write, Input)【初心者向け徹底解説】
- データ書込む基本操作
- Inputステートメントによるデータの読み込み
- ファイル操作: データの保存と読み込み
- テキストファイルを使ったデータの入出力
- 実践的な例: CSVファイルの書き込み
- ファイルのエラーチェックとエラー処理
データ書込む基本操作
VBAでのデータの書き込みは、主に「Print
」と「Write
」を使って行います。
Writeステートメント
Write
は、データを指定したファイルに書き込むために使います。テキスト形式で書き込むため、改行やタブが自動的に追加されません。
Open "C:\path\to\file.txt" For Output As #1
Write #1, "こんにちは", 123
Close #1
上記の例では、ファイル「file.txt」に「こんにちは」と「123」を書き込みます。
Printステートメント
Print
は、より一般的に使われる書き込み方法で、出力される内容は自動的に改行されます。
Open "C:\path\to\file.txt" For Output As #1
Print #1, "こんにちは"
Print #1, 123
Close #1
このコードでは、「こんにちは」と「123」がファイルに書き込まれ、それぞれが新しい行に記録されます。
Inputステートメントによるデータの読み込み
Input
ステートメントは、ファイルからデータを読み込むために使用します。
Open "C:\path\to\file.txt" For Input As #1
Input #1, strData, intNumber
Close #1
この例では、ファイルから「strData」と「intNumber」を読み込みます。Input
を使うことで、ファイル内の内容を変数に格納できます。
データの順番と形式
ファイルからデータを読み込む際、Input
は読み込む順番とデータ形式を合わせる必要があります。
Open "C:\path\to\file.txt" For Input As #1
Input #1, strData
Input #1, intNumber
Close #1
この場合、ファイルの内容が「こんにちは」と「123」の順番であることを前提としています。
ファイル操作: データの保存と読み込み
ファイル操作では、データを一時的に保存するためにファイルを開き、必要な操作を行った後に閉じるという流れが基本です。
ファイルを開く
ファイルを開くには、Open
ステートメントを使います。例えば、データを書き込むためにファイルを開くには次のようにします。
Open "C:\path\to\file.txt" For Output As #1
ファイルを閉じる
ファイルを操作し終わったら、必ずファイルを閉じる必要があります。閉じるにはClose
を使用します。
Close #1
テキストファイルを使ったデータの入出力
テキストファイルを使うことで、データの保存や読み込みが非常に簡単になります。例えば、複数行のデータをファイルに書き込んだり、逆にファイルからデータを一行ずつ読み込んだりできます。
複数行のデータを書き込む
Open "C:\path\to\file.txt" For Output As #1
Print #1, "データ1"
Print #1, "データ2"
Print #1, "データ3"
Close #1
ファイルから複数行のデータを読み込む
Open "C:\path\to\file.txt" For Input As #1
Do Until EOF(1)
Line Input #1, strLine
MsgBox strLine
Loop
Close #1
このコードでは、ファイルから一行ずつデータを読み込んでメッセージボックスで表示します。
実践的な例: CSVファイルの書き込み
CSVファイルは、データをコンマ区切りで保存する形式で、Excelなどで読み込んだり編集したりするのに便利です。
CSVファイルにデータを書き込む
Open "C:\path\to\data.csv" For Output As #1
Write #1, "名前", "年齢", "住所"
Write #1, "田中", 25, "東京"
Write #1, "鈴木", 30, "大阪"
Close #1
上記の例では、名前、年齢、住所をコンマ区切りでCSV形式で書き込んでいます。
ファイルのエラーチェックとエラー処理
ファイル操作を行う際は、エラーが発生する可能性もあります。例えば、指定したファイルが存在しない場合や、アクセス権限がない場合などです。エラー処理を行うことで、プログラムの安定性を高めることができます。
エラー処理の基本
VBAでは、On Error
ステートメントを使ってエラー処理を行います。
On Error GoTo ErrorHandler
Open "C:\path\to\file.txt" For Input As #1
' ファイル操作のコード
Close #1
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました。"
Close #1
このコードでは、エラーが発生した場合に「エラーが発生しました」というメッセージを表示します。