Excel VBA ワークブックを開く

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

 

< スポンサードリンク >



サブコンテンツ

このページの先頭へ