まさ工房

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

【Excelマクロ・VBA】ブックを上書き保存(Save)するにはどうすればいいの?教えて!

       f:id:m_kbou:20190717093559p:plain

Saveメソッドを利用したブックを上書き保存する方法について説明します。Saveメッソッドは引数を持たないメソッドなので、ブックの変更が有る無しに関わらず上書き保存されます。また、新規のブックの場合は、新規保存されます。

 

【目次】

 

構文

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

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

Workbooks(”[ブック名]”).Save

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

 

[説明]:

ブックを上書き保存するには、Saveメソッドを記述します。[ブック名]には上書き保存するブック名を記述します。また、ブック名は「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「[ブック名]で記述したブックを上書き保存して下さい。」との意味になります。

[記述例]:

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

 

使い方

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

指定したブックを上書き保存する方法

指定したブックを上書き保存する方法について説明します。

[記述例]:

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

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

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

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

内容は、「Book1.xlsxブックを上書き保存して下さい。」との意味になります。

[実行例]:

・初期表示

※A1セルに「テスト」の文字を入力して実行する。

f:id:m_kbou:20190717093619p:plain

・実行後 

※再度Book1.xlsxブックを開くと、A1セルに「テスト」の文字が保存されている事がわかる。

f:id:m_kbou:20190717093619p:plain

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

 

アクティブなブックを上書き保存する方法

アクティブなブックを上書き保存する方法について説明します。

[記述例]:

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

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

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

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

内容は、「アクティブなブックを上書き保存して下さい。」との意味になります。

[実行例]:

・初期表示

※Book1.xlsxとBook2.xlsxを開き、Book2.xlsxをアクティブブックにした後、A1セルに「テスト」の文字を入力して実行する。

f:id:m_kbou:20190717093644p:plain

・実行後 

※再度Book2.xlsxブックを開くと、A1セルに「テスト」の文字が保存されている事がわかる。

f:id:m_kbou:20190717093657p:plain

アクティブなブックを上書き保存する方法についての説明は以上です。 

 

おわりに

今回は、ブックを上書き保存する方法について説明しました。Saveメソッドは、保存確認用のダイアログボックスは表示されず、強制的に上書き保存されます。注意して下さい。