【Excel VBA】ファイルを開く基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

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 でファイルを開ける
  • 読み取り専用やパスワードなど、柔軟なオプションが使える
  • 変数に入れると後の処理が書きやすい
  • 存在チェックやエラー処理を入れると実務で安心
  • ファイル選択ダイアログを使うとユーザーに優しい

ファイルを開く処理は、
外部データとやさしくつながるための大切な入り口です。


decopon
decopon

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

moco
moco

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

コメント

タイトルとURLをコピーしました