Excel VBA ワークブックを開く-Open

Excel VBAブック開くには「Workbooks.Open」メソッドを使います

< スポンサーリンク >





「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 = カスタム文字

その他の引数は、私は使いません

 

VBAでブックを開く例

ブックを開く

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

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします