まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】ブックを開いたり・閉じたりするにはどうすればいいの?教えて!

       f:id:m_kbou:20190527085315p:plain

VBAで他のファイル(ブック)を開いたり・閉じたりしながらデータのやり取り(コピー&貼り付け)の操作を行うケースが多々あります。今回はそのファイルの開く方法や閉じる方法について説明します。

 

【目次】

 

構文

記述方法は、以下の通りとなります。

(1)ファイルのOPEN

=======================================================================

Workbooks.Open "[開きたいファイルの場所]"

=======================================================================

[説明]:

[開きたいファイルの場所]には開きたいファイルの保存先パス&ファイル名を記述します。内容を纏めると、「[開きたいファイルの場所]で指定したファイルを開いて下さい。」との意味になります。[開きたいファイルの場所]は「”」(ダブルクォーテーション)で囲みます。

[記述例]:

Workbooks.Open "C:\テスト\Book1.xlsx"

 

(2)ファイルのCLOSE

=======================================================================

ActiveWorkbook.Close

    又は

Workbooks("[閉じたいファイル名]").Close

=======================================================================

[説明]:

上記の記述方法は、いずれもファイルを閉じる記述内容となります。違いとしては、「ActiveWorkbook.Close」については、現在選択されているファイル(アクティブなファイル)を閉じる記述方法となり、内容を纏めると、「現在選択しているファイル(アクティブなファイル)を閉じて下さい。」との意味になります。また、「Workbooks([閉じたいファイル名]).Close」については、[閉じたいファイル名]に閉じたいファイル名を指定し、その指定したファイルを閉じる記述方法となります。。[閉じたいファイルの場所]は「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「[閉じたいファイル名]で指定したファイルを閉じて下さい。」との意味になります。

[記述例]:

ActiveWorkbook.Close
Workbooks("Book1.xlsx").Close

 

使い方

使い方について、具体的に説明していきます。

ファイルの開き方

ファイルの開き方について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Workbooks.Open "C:\テスト\Book1.xlsx"
End Sub

-------------------------------------------------

内容は、「"C:\テスト\Book1.xlsx"のファイルを開いて下さい。」との意味になります。

 

ファイルの閉じ方

ファイルの閉じ方について説明します。

[記述例①]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    ActiveWorkbook.Close
End Sub

-------------------------------------------------

内容は、「現在選択されているファイル(アクティブなファイル)を閉じて下さい。」との意味になります。

[記述例②]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Workbooks("Book1.xlsx").Close
End Sub

-------------------------------------------------

内容は、「現在開いているファイル:"Book1.xlsx"を閉じて下さい。」との意味になります。

[記述例③]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Workbooks("Book1.xlsx").Close True
End Sub

-------------------------------------------------

Closeの後に「True」を指定すると、ファイルを閉じる時に上書き保存してから閉じます。記述内容は、「現在開いているファイル:"Book1.xlsx"を上書き保存してから閉じて下さい。」との意味になります。

[記述例④]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    Workbooks("Book1.xlsx").Close True, "C:\テスト\Book2.xlsx"
End Sub

-------------------------------------------------

Closeの後に「True, 保存先パス&ファイル名」を指定すると、ファイルを閉じる時に名前を付けて保存してから閉じます。記述内容は、「現在開いているファイル:"Book1.xlsx"を、「C:\テスト」ディレクトリに"Book2.xlsx"として名前を付けて保存してから閉じて下さい。」との意味になります。

 

おわりに

今回は、ファイルの開き方と閉じ方について説明をしました。VBAでのプログラミングでは、ファイルのOPENやCLOSEは頻繁に使用します。記述方法はさほど難しくないため、是非覚えて頂き有効に活用してもらえればと思います。