ブックを保存したい

Excel VBA Tips集-4

ブックを保存する方法

Excelのブック上書き保存するには、Workbook.Saveメソッドを用います。

アクティブなブックを保存するサンプルコード

ブックを保存する際のダイアログボックスを非表示にして上書き保存するサンプルコード

Application.DisplayAlertsプロパティFalseに指定することで、警告などのダイアログボックスを非表示にできますApplication.DisplayAlertsプロパティFalseに設定した場合は、必ずそのプログラムの最後の行でApplication.DisplayAlertsプロパティTrueに戻しておくようにしましょう。そうしないと、ずっとダイアログボックスが非表示のままになってしまいます。

[スポンサードリンク]

ワークブック名を指定して上書き保存するサンプルコード

Workbooks(“ブック名.拡張子”).Saveと書くことでワークブック名を指定して上書き保存することができます。拡張子を忘れないようにしましょう。

ワークブックを上書き保存して閉じるサンプルコード

ワークブックを上書き保存した上で閉じるにはWorkbook.Closeメソッドを用います。この際、必ずSaveChanges引数の値にTrueをセットします

ブックに名前をつけて保存するサンプルコード

ブックに新たな名前をつけて別名で保存するにはSaveAsメソッドを利用します。別名保存の際は、正しい拡張子を指定して保存するようにします。例えばExcel2007以降では、「.xlsx」が標準の拡張子です。マクロ(VBA)を含むブックを保存する際は「.xlsm」拡張子を付け加えます。また、SavedAsメソッドに渡す値は、拡張子を含むファイル名だけではなく、保存先のファイルパスも含みます

尚、現在使用しているブックのファイルパスを取得するには、「Workbook.Pathプロパティ」かもしくは「Workbook.FullNameプロパティ」を用います。

Workbook.Pathプロパティは、ブックが保存されているフォルダまでのパスを返します。一方、Workbook.FullNameプロパティは、現在使用しているブックのファイル名までのパスを返します。

これらのプロパティを利用することは、「ブックの保存先のファイルパスをどこにするか」を検討する際に役立つ場合があります。

例えば下記のサンプルコードでは、現在使用しているブックを含むフォルダのパスを取得し、そのパスに新しいファイル名を連結させることで、いま使用しているブックと同じフォルダに別名保存するためのファイルパスを生成しています。

肝心のブックに名前をつけて保存するサンプルコードは下記になります。

※Windows環境の場合は半角のバックスラッシュ「\」を半角の「¥記号」に読み替えていただければと存じます。

関連項目

 

 

 

[スポンサードリンク]

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA