Excel相互運用機能を介してExcelスプレッドシートに変更を保存する方法はありますか(この場合、ワークシートを追加しています)、既存のファイルを変更で上書きするかどうかをユーザーに確認する必要はありません。アプリケーションでスプレッドシートが開いているのをユーザーに見せたくないので、ファイルを上書きするかどうかを尋ねるメッセージ ボックスが表示されるのは、非常に場違いで、ユーザーを混乱させる可能性があります。
workbook.SaveAs(fileloaction) メソッドを使用しています。
ここで、Excel 相互運用のために COM 参照オブジェクトを初期化しています。
private Excel.Application app = null;
private Excel.Workbook workbook = null;
public Excel.Workbook Workbook
{
get { return workbook; }
set { workbook = value; }
}
private Excel.Worksheet worksheet = null;
private Excel.Range workSheet_range = null;
以下は、Excelファイルを閉じる/保存するために使用しているコードです。workbook.close() メソッド行は、未処理の例外をスローしていると報告されている行です。
workbook.Close(true, startForm.excelFileLocation, Missing.Value);
Marshal.ReleaseComObject(app);
app = null;
System.GC.Collect();