はじめに
VBAで作業をしていると、
「別のブックを開いて処理したい」
「データ元のファイルを読み込みたい」
そんな場面がよくあります。
そこで活躍するのが Workbooks.Open です。
ここでは、ファイルを開く基本の使い方と、
実務で役立つ書き方を解説します。
まずはコードを確認
Workbooks.Open "C:\Test\sample.xlsx"
もっともシンプルな書き方です。
指定したパスのファイルが開きます。
Workbooks.Open の基本
フルパスを指定して開く
Workbooks.Open "C:\Data\report.xlsx"
読み取り専用で開く
Workbooks.Open "C:\Data\report.xlsx", ReadOnly:=True
他の人が編集している可能性がある場合に安心です。
開いたブックを変数に入れる
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Data\report.xlsx")
MsgBox wb.Name
変数に入れておくと、後の処理が書きやすくなります。
具体的な例で理解する
開いたブックのシートを操作する
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Data\report.xlsx")
wb.Sheets("集計").Range("A1").Value = "更新日:" & Date
外部ファイルに書き込む実務でよく使うパターンです。
ファイルが存在するかチェックしてから開く
Dim path As String
path = "C:\Data\report.xlsx"
If Dir(path) <> "" Then
Workbooks.Open path
Else
MsgBox "ファイルが見つかりません。"
End If
エラーを避けるための大切な処理です。
開いたブックを閉じる
wb.Close SaveChanges:=False
保存するかどうかを選べます。
よく使うオプション
| オプション | 内容 |
|---|---|
| ReadOnly | 読み取り専用で開く |
| Password | パスワード付きファイルを開く |
| UpdateLinks | リンク更新の設定 |
| IgnoreReadOnlyRecommended | 読み取り専用推奨を無視 |
必要に応じて組み合わせて使えます。
注意点(実務で気をつけたいこと)
- パスが間違っているとエラー
→ Dir で存在チェックすると安心です。
- ネットワークパスは遅いことがある
→ エラー処理を入れておくと安全です。
- 開いたブックを閉じ忘れると残り続ける
→ wb.Close を忘れずに。
- 相対パスはカレントディレクトリに依存
→ 基本はフルパス指定が安心です。
応用:ファイル選択ダイアログで開く
Dim path As Variant
path = Application.GetOpenFilename("Excelファイル (*.xlsx), *.xlsx")
If path <> False Then
Workbooks.Open path
End If
ユーザーに選んでもらう柔らかい方法です。
まとめ
- Workbooks.Open でファイルを開ける
- 読み取り専用やパスワードなど、柔軟なオプションが使える
- 変数に入れると後の処理が書きやすい
- 存在チェックやエラー処理を入れると実務で安心
- ファイル選択ダイアログを使うとユーザーに優しい
ファイルを開く処理は、
外部データとやさしくつながるための大切な入り口です。

ファイルを開くという動作は、VBAの中でも特に“実務の入口”になる部分です。
丁寧に扱うことで、処理全体がすっと安定します。

ファイルをひらくと、なんだか新しいページが始まる感じがするね。
VBAは、その扉をそっと開けてくれるよ。

コメント