
Excel VBA Openステートメントは、外部ファイルを開いて読み書きするために使用されます。テキストファイルやバイナリファイルなど、さまざまな形式のファイルを操作するために利用します。具体的な使い方や、注意点やサンプルコードを紹介します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBA Openステートメントを利用
以下のようなシーンで利用されます。
・テキストファイルからデータを読み込む
・解析したデータを書き出す
・ログファイルの作成や更新
・他のアプリケーションとのデータ連携
Excel VBA Openステートメント|使い方とポイント
基本的な構文
Open ファイル名 For モード As ファイル番号
・ファイル名:ファイルのパス
・モード:ファイルの開き方 (例: `Input`, `Output`, `Append`, `Binary`)
・ファイル番号:ファイル識別用の番号
・ファイルを開いたら必ず閉じる (`Close`) こと
・ファイルパスが正しいか確認すること
・存在しないファイルを開こうとするとエラーになるのでエラーハンドリングを実装すること
・ファイルアクセスが他のプロセスによってロックされていないか確認すること
Excel VBA Openステートメントのサンプルコード
Option Explicit
Sub ReadTextFile()
Dim filePath As String
Dim fileNum As Integer
Dim fileContent As String
Dim line As String
filePath = "C:\Users\User\Desktop\DataCsv\テキスト.txt"
fileNum = FreeFile
On Error GoTo ErrorHandler
Open filePath For Input As fileNum
Do While Not EOF(fileNum)
Line Input #fileNum, line
fileContent = fileContent & line & vbCrLf
Loop
Close fileNum
MsgBox fileContent
Exit Sub
ErrorHandler:
MsgBox "ファイルを開くことができませんでした: " & Err.Description
Close fileNum
End Sub
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
テキストファイルに書き込む
Option Explicit
Sub WriteTextFile()
Dim filePath As String
Dim fileNum As Integer
filePath = "C:\Users\User\Desktop\DataCsv\テキスト.txt"
fileNum = FreeFile
On Error GoTo ErrorHandler
Open filePath For Output As fileNum
Print #fileNum, "Hello, World!"
Print #fileNum, "This is a sample text file."
Close fileNum
MsgBox "書き込みが完了しました。"
Exit Sub
ErrorHandler:
MsgBox "ファイルを書き込むことができませんでした: " & Err.Description
Close fileNum
End Sub
ログファイルに追記する
Option Explicit
Sub AppendToLogFile()
Dim filePath As String
Dim fileNum As Integer
Dim logMessage As String
filePath = "C:\Users\User\Desktop\DataCsv\テキスト.txt"
fileNum = FreeFile
logMessage = "Log entry at " & Now
On Error GoTo ErrorHandler
Open filePath For Append As fileNum
Print #fileNum, logMessage
Close fileNum
MsgBox "ログが追記されました。"
Exit Sub
ErrorHandler:
MsgBox "ログファイルを追記することができませんでした: " & Err.Description
Close fileNum
End Sub
これらの例を使って、ファイルの読み書きやログの追記を行うことができます。適切なエラーハンドリングとファイルのクローズ処理を行うことで、安全で効率的なファイル操作を実現できます。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。