book開く

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

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