教えて!ExcelVBA!

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

【ExcelVBA ブック操作】ブックを上書き保存(Save)するにはどうすればいいの?教えて!

       f:id:m_kbou:20200418130857p:plain

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

 

【目次】

 

構文

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

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

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

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

[説明]:

ブックを上書き保存するには「Workbooks(”[ブック名]”).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メソッドは保存確認用のダイアログボックスは表示されず、強制的に上書き保存されてしまいます。注意して下さい。