ExcelVBAで、指定したブックを開く方法と、開いているブックを閉じる方法を解説します。
ブックを開く
ブックを開く方法を説明します。
書式
ブックを開く際の書式です。
Workbooks.Open "ブックのフルパス"
サンプル
サンプルのソースコードになります。
こちらを実行すると、下記のブックが開かれます。
・パス:C:\workspace\ExcelVBA
・ファイル名:Sample.xlsx
Sub Sample()
Workbooks.Open "C:\workspace\ExcelVBA\Sample.xlsx"
End Sub
発生する可能性があるエラーと対策
ブックを開く際に、発生する可能性があるエラーと対策となります。
存在しないブックを開こうとする場合
存在しないブックを開こうとした場合に発生するエラーと対策になります。
存在しないブックを開こうとすると、以下のようなエラーが発生します。
このエラーの対策としては、ブックを開く前にファイルが存在するかを確認します。
以下が、サンプルのコードとなります。
このサンプルを実行すると、
ブックが存在する場合は、ブックが開かれ、
ブックが存在しない場合は「ファイルが存在しません。」と表示されます。
Sub Sample()
Const BOOK_NAME = "C:\workspace\ExcelVBA\存在しないブック.xlsx"
If Dir(BOOK_NAME) <> "" Then
Workbooks.Open BOOK_NAME
Else
MsgBox ("ファイルが存在しません。")
End If
End Sub
リンク
ブックを閉じる
ブックを閉じる方法を説明します。
書式
ブックを閉じる際の書式です。
Workbooks.Close "ブック名"
サンプル
サンプルのソースコードになります。
こちらを実行すると、下記のブックが閉じられます。
・ブック名:Sample.xlsx
Sub Sample()
Workbooks("Sample.xlsx").Close
End Sub
発生する可能性があるエラーと対策
ブックを閉じる際に、発生する可能性があるエラーと対策となります。
開かれていないブックを閉じようとする場合
開かれていないブックを閉じようとする場合に発生するエラーと対策になります。
存開かれていないブックを閉じようとすると、以下のようなエラーが発生します。
このエラーの対策としては、ブックを閉じる前に対象のブックが開かれているかを確認します。
以下が、サンプルのコードとなります。
このサンプルを実行すると、
ブックが開かれている場合のみ、ブックを閉じる処理を実行します。
Sub Sample()
Const BOOK_NAME = "Sample.xlsx"
Dim wb As Workbook
For Each wb In Workbooks
If (wb.Name = BOOK_NAME) Then
Workbooks(BOOK_NAME).Close
End If
Next
End Sub
リンク
コメント