教えて!ExcelVBA!

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

【ExcelVBA ブック操作】ブック名を指定して保存(SaveAs)するにはどうすればいいの?教えて!

f:id:m_kbou:20200418131346p:plain

指定したブックを指定されたブック名で保存するには、SaveAsメソッドを使用します。SaveAsメソッドに保存先パスとブック名を指定すると、指定した保存先に指定したブック名で保存する事ができます。また、保存先のフォルダに同じブック名がある場合には、上書き保存の確認メッセージが表示されます。このSaveAsメソッドの使い方について紹介します。

 

 

構文

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

Workbooks(”[ブック名]”).SaveAs ”[保存先パス]”

[説明]:

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

[記述例]:

Workbooks("Book1.xlsx").SaveAs "C:\テスト\テスト.xlsx"

 

使い方

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

[プログラミング例]:

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

内容は、「Book1.xlsxブックを、C:\テストにテスト.xlsxの名前で保存して下さい。」との意味になります。

f:id:m_kbou:20210325141724p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

※事前準備として、C:\テストに何も登録されていない事を確認します。また、Book1.xlsxブックを予め開いておきます。

f:id:m_kbou:20210325141742p:plain

f:id:m_kbou:20210325141801p:plain

①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、事前準備で説明したBook1.xlsxブックを開いておきます。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。) 

f:id:m_kbou:20210325142238p:plain

②結果として、事前準備で開いておいたBook1.xlsxブックをテスト.xlsxに名称変更し、C:\テストに登録しました。

f:id:m_kbou:20210325142336p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

指定したブックを指定したパスに保存する方法についての説明は以上です。

 

おわりに

今回はブック名を指定して保存する方法について説明しました。ブックのBKUPファイルを作成する等で活用して下さい。