
Excel VBAでブックを開くには「Workbooks.Open」メソッドを使います
< スポンサーリンク >
構文
式.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
FileName = 開きたいブックの名前
UpdateLinks = ファイル内のリンクの更新方法
- 1 = リンクの更新方法をユーザーが指定
- 2 = ブックを開く時にリンクを更新しない
- 3 = ブックを開く時にリンクを常に更新する
ReadOnly = ブックを読み取り専用モードで開きたい時には、Trueを指定
Format = テキストファイルを開く時に区切り文字を指定
- 1 = タブ
- 2 = コンマ (,)
- 3 = スペース
- 4 = セミコロン (;)
- 5 = なし
- 6 = カスタム文字
その他の引数は、私は使いません
例
ブックを開く
Dドライブのtestフォルダの中のaaa.xlsxを開く
Sub BookOpenTest1()
Workbooks.Open Filename:=”D:\test\aaa.xlsx”
End Sub
ブックを読み取り専用で開く
Dドライブのtestフォルダの中のaaa.xlsxを読み取り専用で開く
Sub BookOpenTest2()
Workbooks.Open Filename:=”D:\test\aaa.xlsx”, ReadOnly:=True
End Sub
パスワード付きのファイルを開く
Dドライブのtestフォルダの中の読み取りパスワードがbbbと設定してあるaaa.xlsxを開く
Sub BookOpenTest3()
Workbooks.Open Filename:=”D:\test\aaa.xlsx”, Password:=”bbb”
End Sub
ファイルが存在するか確認して開く
Dドライブのtestフォルダの中にaaa.xlsxが存在するか
存在する場合は開く
存在しない場合はメッセージを出す
Sub BookOpenTest4()
If Dir(“D:\test\aaa.xlsx”) <> “” Then
Workbooks.Open Filename:=”D:\test\aaa.xlsx”
Else
MsgBox “D:\test\aaa.xlsxはありません”
End If
End Sub
上記の記述だとパスとファイル名を何度も記述しないといけないので
パスとファイル名を変数に入れてみます
Sub BookOpenTest5()
Dim BookName As String
BookName = “D:\test\aaa.xlsx”
If Dir(BookName) <> “” Then
Workbooks.Open Filename:=BookName
Else
MsgBox BookName & “はありません”
End If
End Sub
こんな記事も書いています