方法 : ブックを保存する
ブックを保存するには、いくつかの方法があります。 パスを変更せずに、ブックを保存できます。 これまでブックが一度も保存されていない場合は、パスを指定してブックを保存します。 パスを明示的に指定しないと、ファイルは作成時に指定された名前で現在のフォルダーに保存されます。 メモリ内で開いているブックを変更せずに、ブックのコピーを保存することもできます。
対象: このトピックの情報は、Excel 2007 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
パスを変更しないブックの保存
ドキュメント レベルのカスタマイズに関連付けられたブックを保存するには
ThisWorkbook クラスの Save メソッドを呼び出します。
Me.Save()
this.Save();
アプリケーション レベルのアドインでアクティブなブックを保存するには
Save メソッドを呼び出して、アクティブなブックを保存します。 次のコード例を使用する場合は、Excel のアプリケーション レベルのプロジェクトの ThisAddIn クラスから実行します。
Me.Application.ActiveWorkbook.Save()
this.Application.ActiveWorkbook.Save();
新しいパスを指定したブックの保存
指定したブックを別の場所または別の名前で保存でき、オプションでファイル形式、パスワード、アクセス モードなども指定できます。
注意
形式を指定して保存すると対話処理が発生することがあるため、新しいパスでブックを保存する前に DisplayAlerts プロパティを False に設定することをお勧めします。 このプロパティを False に設定すると、Excel ではすべて既定値が使用されます。
ドキュメント レベルのカスタマイズに関連付けられたブックを保存するには
ThisWorkbook クラスの SaveAs メソッドを呼び出します。 次のコード例を使用するには、ThisWorkbook クラスで実行します。
Me.SaveAs("C:\Book1.xml")
this.SaveAs(@"C:\Book1.xml", missing, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
アプリケーション レベルのアドインでアクティブなブックを保存するには
SaveAs メソッドを呼び出して、新しいパスでアクティブなブックを保存します。 次のコード例を使用する場合は、Excel のアプリケーション レベルのプロジェクトの ThisAddIn クラスから実行します。
Me.Application.ActiveWorkbook.SaveAs("C:\Test\Book1.xml")
this.Application.ActiveWorkbook.SaveAs(@"C:\Test\Book1.xml", missing, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
ブックのコピーの保存
メモリ内で開いているブックを変更せずに、ブックのコピーをファイルに保存できます。 これは、ブックの場所を変えずにバックアップ コピーを作成するときに便利です。
ドキュメント レベルのカスタマイズに関連付けられたブックを保存するには
ThisWorkbook クラスの SaveCopyAs メソッドを呼び出します。 次のコード例を使用するには、ThisWorkbook クラスで実行します。
Me.SaveCopyAs("C:\Book1.xls")
this.SaveCopyAs(@"C:\Book1.xls");
アプリケーション レベルのアドインでアクティブなブックを保存するには
アクティブなブックのコピーを保存するため、SaveCopyAs メソッドを呼び出します。 次のコード例を使用する場合は、Excel のアプリケーション レベルのプロジェクトの ThisAddIn クラスから実行します。
Me.Application.ActiveWorkbook.SaveCopyAs("C\Book1.xls")
this.Application.ActiveWorkbook.SaveCopyAs(@"C\Book1.xls");
信頼性の高いプログラミング
ブックを保存またはコピーするメソッドを対話的にキャンセルすると、コード内で実行時エラーが発生します。 たとえば、SaveAs メソッドを呼び出すプロシージャで Excel から確認メッセージが表示されるようにしている場合、ユーザーが [キャンセル] をクリックすると、Excel で実行時エラーが発生します。