教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA ブック操作】ブックを開いたり(Open)・閉じたり(Close)するにはどうすればいいの?教えて!

       f:id:m_kbou:20200418124342p:plain

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

 

【目次】

 

構文

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

(1)ファイルのOPEN

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

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

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

[説明]:

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

[記述例]:

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

 

(2)ファイルのCLOSE

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

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

    又は

ActiveWorkbook.Close

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

[説明]:

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

[記述例]:

Workbooks("Book1.xlsx").Close
ActiveWorkbook.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は頻繁に使用します。記述方法はさほど難しくないため、是非有効に活用してもらえればと思います。