ExcelVBAの操作では、ブック(ファイル)を開いたり・閉じたりしながらデータのやり取り(コピー&貼り付け)の操作を行うケースが多々あります。この操作は頻繁に行う操作となるため、是非覚えておいてもらいたいと思います。今回はそのファイルの開き方や閉じ方について紹介します。
構文
記述方法は以下の通りとなります。
(1)ファイルのOPEN
Workbooks.Open "[開きたいファイルのパス]"
[説明]:
ブックを開くには
「Workbooks.Open "[開きたいファイルのパス]"」
と記述します。
[開きたいファイルのパス] | 開きたいファイルのパスを記述します。 ※「”」(ダブルクォーテーション)で囲みます。 |
[記述例]:
Workbooks.Open "C:\テスト\Book1.xlsx"
(2)ファイルのCLOSE
ActiveWorkbook.Close
Workbooks(”[閉じたいファイル名]”).Close
[説明]:
現在アクティブになっているブックを閉じるには
「ActiveWorkbook.Close」
と記述します。
また、ファイル名を指定して閉じるには
「Workbooks(”[閉じたいファイル名]”).Close」
と記述します。
[閉じたいファイル名] | 閉じたいファイル名を記述します。 ※「”」(ダブルクォーテーション)で囲みます。 |
[記述例]:
ActiveWorkbook.Close
Workbooks("Book1.xlsx").Close
使い方
ファイルのOPEN
ファイルのOPENについてのプログラミング方法について説明します。
[プログラミング例]:
Sub サンプル()
Workbooks.Open "C:\テスト\Book1.xlsx"
End Sub
内容は、「"C:\テスト\Book1.xlsx"のファイルを開いて下さい。」との意味になります。(※C:\テストにBook1.xlsxファイルが登録されていないと上記プログラミング例を実行してもエラーになります。登録されていない場合は予め作成しておいて下さい。)
※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
※事前準備として、C:\テストにBook1.xlsxファイルを登録しておきます。
①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②上記の事前準備で登録したC:\テスト\Book1.xlsxファイルが開きます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
ファイルのOPENについてのプログラミング方法について説明は以上です。
ファイルのCLOSE
ファイルのCLOSEについてのプログラミング方法について幾つか説明します。
(1)アクティブファイルのCLOSE
まず最初に現在アクティブになっているファイルをCLOSEする方法について説明します。
[プログラミング例]:
Sub サンプル()
ActiveWorkbook.Close
End Sub
内容は、「現在選択されているファイル(アクティブファイル)を閉じて下さい。」との意味になります。
※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②今開いていたアクティブファイル(演習.xlsmファイル)が閉じます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
アクティブファイルのCLOSE方法についての説明は以上です。
(2)指定したファイルのCLOSE
次に指定したファイルをCLOSEする方法について説明します。
[プログラミング例]:
Sub サンプル()
Workbooks("Book1.xlsx").Close
End Sub
内容は、「現在開いているファイル:"Book1.xlsx"を閉じて下さい。」との意味になります。(※Book1.xlsxファイルが予め開いていないと上記プログラミング例を実行してもエラーになります。開いていない場合は予め開いておいてからプログラムを実行して下さい。)
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
※事前準備として、C:\テストにBook1.xlsxファイルを登録し、登録したBook1.xlsxファイルを開いておきます。
①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、この時点で事前準備で説明したBook1.xlsxファイルが開かれています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②Book1.xlsxファイルが閉じます。(※指定したBook1.xlsxファイルが閉じられた事が分かります。)
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
指定したファイルをCLOSEする方法についての説明は以上です。
(3)指定したファイルを上書き保存してからCLOSE
次に指定したファイルを上書き保存してからCLOSEする方法について説明します。
[プログラミング例]:
Sub サンプル()
Workbooks("Book1.xlsx").Close True
End Sub
内容は、「現在開いているファイル:"Book1.xlsx"を上書き保存してから閉じて下さい。」との意味になります。Closeの後に「True」を指定すると、ファイルを閉じる時に上書き保存してから閉じます。(※Book1.xlsxファイルが予め開いていないと上記プログラミング例を実行してもエラーになります。開いていない場合は予め開いておいてからプログラムを実行して下さい。)
※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
※事前準備として、C:\テストにBook1.xlsxファイルを登録し、登録したBook1.xlsxファイルを開いておきます。また、開いたBook1.xlsxファイルのA1セルに「テスト」の文字を入力しておきます。
①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、この時点で事前準備で説明したBook1.xlsxファイルが開かれており、A1セルに「テスト」の文字が入力されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②Book1.xlsxファイルが閉じます。
③再度C:\テスト\Book1.xlsxファイルを開きます。するとA1セルに「テスト」の文字が保存されている事が分かります。(※Book1.xlsxファイルが上書き保存されてから閉じられた事が分かります。)
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
指定したファイルを上書き保存してからCLOSEする方法についての説明は以上です。
(4)指定したファイルをファイル名を付けて保存してからCLOSE
最後に指定したファイルをファイル名を付けて保存してからCLOSEする方法について説明します。
[プログラミング例]:
Sub サンプル()
Workbooks("Book1.xlsx").Close True, "C:\テスト\Book2.xlsx"
End Sub
内容は、「現在開いているファイル:"Book1.xlsx"を、「C:\テスト」ディレクトリに"Book2.xlsx"として名前を付けて保存してから閉じて下さい。」との意味になります。Closeの後に「True, 保存先パス&ファイル名」を指定すると、ファイルを閉じる時に指定したファイル名で名前を付けて保存してから閉じます。(※Book1.xlsxファイルが予め開いていないと上記プログラミング例を実行してもエラーになります。開いていない場合は予め開いておいてからプログラムを実行して下さい。)
※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
※事前準備として、C:\テストにBook1.xlsxファイルを登録し、登録したBook1.xlsxファイルを開いておきます。また、開いたBook1.xlsxファイルのA1セルに「テスト」の文字を入力しておきます。(この時点でC:\テストにはBook1.xlsxファイルしか登録されていません。)
①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、この時点で事前準備で説明したBook1.xlsxファイルが開かれており、A1セルに「テスト」の文字が入力されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②Book1.xlsxファイルが閉じます。
③C:\テストを確認すると、ディレクトリ内にBook1.xlsxファイルとBook2.xlsxファイルの2つが登録されている事が分かります。(※上記の事前準備ではC:\テスト内にBook1.xlsxファイルのみ登録されていましたが、Book2.xlsxファイルも新規で登録された事が分かります。)
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
指定したファイルをファイル名を付けて保存してからCLOSEする方法についての説明は以上です。
おわりに
今回はファイルのOPENとCLOSEについて説明をしました。VBAでのプログラミングでは頻繁に使用する内容となります。記述方法は差ほど難しくないため、有効に活用して下さい。