他のブックを開く
Contents
単一で開く場合
ブックを開く
Workbooks.Open(ファイルのフルパス)
ファイルを開くダイアログの表示
return:文字列型(ファイルのフルパス/キャンセル時は文字型で"False")
path = Application.GetOpenFilename("Microsoft Excel ブック, *.xls?")
キャンセル対策+開いたブックをオブジェクト変数にセット
if not filepath = "False" then
Dim wb As Workbook: Set wb = Workbooks.Open(path)
end if
開いたブックを閉じる
wb.Close
複数選択可能にする
GetOpenFilenameの引数に「MultiSelect:=True」を追加
return:1ベースの一次元配列(キャンセル時はBoolean型のFalse)
arr_path = Application.GetOpenFilename("Microsoft Excel ブック, *.xls?", MultiSelect:=True)
IsArray()関数でキャンセルされてないか判定可能
if not IsArray(arr_path) then
msgBox "キャンセルされました"
end if
複数のブックをループ処理する(ScreenUpdatingでチラツキ防止)
if IsArray(arr_path) then
Application.ScreenUpdating = False
for i = 1 to ubound(arr_path)
set wb = Workbooks.Open(arr_path(i))
~処理~
wb.Close
next i
Application.ScreenUpdating = True
end if