サイトについて      連絡先   検索

VBA ワークブックを開く

はじめに

Excel VBA マクロのワークブックを開く方法を紹介します。

Workbooks.Open メソッドで Workbook を開けます。

  • 目次
    • ワークブックを開く
    • 開いたワークブックを編集する

ワークブックを開く

Workbook を開くには Workbooks.Open("フルパス") のように指定します。


Workbooks.Open("C:\Book1.xlsx") ' Workbook を開く

開いた Workbook はアクティブになります。

マクロを実行している Workbook をアクティブにしたいなら ThisWorkbook をアクティブにします。


Workbooks.Open("C:\Book1.xlsx") ' Workbook を開く
ThisWorkbook.Activate

指定したファイルが存在しないときはエラーが発生します。

ファイルを開くダイアログを表示する

Application.GetOpenFilename メソッドでファイルを開くダイアログを表示できます。

戻り値に指定したフルパスが返ります。キャンセルすると "False" が返ります。

1

Dim filePath As String
filePath = Application.GetOpenFilename ' ダイアログを表示

If filePath = "False" Then
    ' キャンセル
    Exit Sub
End If

' 開く
Workbooks.Open(filePath) ' Workbook を開く

ファイルのパスを取得する

現在開いているファイルのパスなどを取得するには「ファイルやフォルダのパスを取得」をご覧ください。

開いているファイルと同じフォルダにある Tips.xlsx を開くには、次のようにします。


Dim folderPath As String
folderPath = Application.ActiveWorkbook.Path ' 現在開いているファイルのフォルダパス

If folderPath = "" Then ' 保存されていないとき
    ' キャンセル
    Exit Sub
End If

Dim filePath As String
filePath = folderPath & "\Tips.xlsx" ' フォルダパスと開きたいファイル名を結合

' 開く
Workbooks.Open (filePath) ' Workbook を開く

開いたワークブックを編集する

Open の戻り値から開いた Workbook を取得できます。開いた Workbook を編集したいときは、それに対して操作します。


Dim wb As Workbook
Set wb = Workbooks.Open("C:\Book1.xlsx") ' Workbook を開く

' 編集
wb.Sheets(1).Range("A1").Value = "編集"
  • 目次
    • ワークブックを開く
    • 開いたワークブックを編集する