VBAでは、Workbooks.Open
メソッドを使うことで、指定したパスにあるブックを開くことができます。
ここでは、基本的なコード例と、よく使うオプションを紹介します。
1. 基本的なブックを開くコード
Sub OpenWorkbook()
'指定パスのブックを開く
Workbooks.Open "C:\Users\Public\Sample.xlsx"
End Sub
解説:
Workbooks.Open
… 指定したファイルパスのブックを開くメソッド。"C:\Users\Public\Sample.xlsx"
… 開きたいブックのフルパス。- パスやファイル名を間違えるとエラーが発生するので注意。
2. 変数でパスを指定する
ファイルパスを変数として指定すると、可読性が上がります。
Sub OpenWorkbookWithPath()
Dim filePath As String
filePath = "C:\Users\Public\Sample.xlsx"
Workbooks.Open filePath
End Sub
解説:
- 変数
filePath
にパスを格納してからOpen
に渡す方法。 - 複数のブックを扱う場合、変数を使う方が管理しやすい。
3. ファイル選択ダイアログを使う
ユーザーに開くファイルを選ばせることも可能です。
Sub OpenWorkbookDialog()
Dim filePath As Variant
filePath = Application.GetOpenFilename( _
FileFilter:="Excelファイル (*.xlsx; *.xlsm), *.xlsx; *.xlsm")
If filePath <> False Then
Workbooks.Open filePath
Else
MsgBox "キャンセルされました。"
End If
End Sub
解説:
Application.GetOpenFilename
… ファイル選択ダイアログを表示するメソッド。FileFilter
… 表示するファイル形式を指定。If filePath <> False
… キャンセル時は処理を中断。
4. 開いたブックを変数に格納する
開いたブックを変数に保持することで、後続処理で指定しやすくなります。
Sub OpenWorkbookToVariable()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\Public\Sample.xlsx")
wb.Sheets(1).Range("A1").Value = "データ追加"
End Sub
解説:
Set wb = Workbooks.Open(...)
でブックをオブジェクト変数wb
に格納。wb.Sheets(1).Range("A1").Value
で直接ブック内を操作できる。
5. まとめ
Workbooks.Open
で指定パスのブックを開く。- パスを変数にするとコードの保守性が上がる。
- ユーザー選択ダイアログを使うと柔軟に対応できる。
- 変数に格納してブックを操作するのが定番。
コメント