【Excel VBA】ブックを上書き保存する(Saveメソッド)

りゅう

こんにちは!りゅう(@ryupong_b)です。
今回は、ブックを上書き保存する方法を解説します。

はじめに

今回は、ブックを上書き保存する方法をご紹介します。
処理の終了時に、ブックを保存する際に使用する場面が多いと思います。
本記事では、サンプルコードを用いてコピペで使える実践的なコードもご紹介します。

この記事を読むメリット
  • ブックを上書きする方法が分かります。
  • 新規ブック、保存済みブックを上書きする場合の挙動の差異を詳しく解説します。
  • サンプルコードを用いてコピペで使える実践的なコードをご紹介します。

基本情報

Saveメソッド

ブックを上書き保存するには、WorkbookオブジェクトのSaveメソッドを使用します。
上書き対象のブックが新規ブックであるか、保存済みであるかで、挙動が異なります。

  • 新規ブックの場合
    • ブック名は「Book1.xlsx」等の仮の名前で保存される。
    • 保存場所は、カレントディレクトリに保存される。
  • 保存済みブックの場合
    • ファイル形式、保存場所はそのまま保存される。
構文

‘ 自身のブック(マクロを実行しているブック)を上書き保存する
ThisWorkbook.Save

めい

カレントディレクトリについては、以下の記事で解説しています。
よろしければ、ご参考にしてください。

サンプルコード

ブックを上書き保存

サンプルコード
Public Sub saveBook()

    ' 自身のブック(マクロを実行しているブック)を上書き保存する
    ThisWorkbook.Save

    ' Activeとなっているブックを上書き保存する
    ActiveWorkbook.Save
End Sub

開いているブックをすべて上書き保存

サンプルコード
Public Sub saveAllBook()
    Dim wb As Workbook

    ' 開いているブック分ループ
    For Each wb In Workbooks

        ' ブックを上書き保存
        wb.Save
    Next wb
End Sub

最後に

今回は、ブックを上書き保存する方法をご紹介させて頂きました。
この記事が、皆さんのお力になれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA