は(D最初の悪い説明するために私を言い訳にして私は、英語で週だ)は動作しません。SaveCopyAsメソッドは
私は、ボタンのClickイベントのExcelででADDD-および保存のためのリボンでボタン(ボタンをん保存し、正確な保存措置)コードはここにあります:
Globals.ThisAddIn.Application.ActiveWorkbook.Save();
私のアプリケーションでカスタムディレクトリにブックを手動で保存するブックの "BeforeSave"イベントハンドラにメソッド(WorkbookBeforeSave)を割り当てます。私は元のExcelの保存ボタン「SaveCopyAs」をクリックすると
private void WorkbookBeforeSave(bool saveasui, ref bool cancel)
{
_excelApp.EnableEvents = false;//_excelApp is my Excel Application
if (!_excelWorkbook.Saved)//_excelWorkbook is Active Excel Workbook
{
_excelWorkbook.SaveCopyAs(_savedFilePath);//_savedFilePath is my custom directory
_excelWorkbook.Saved = true;
}
cancel = true;
_excelApp.EnableEvents = true;
}
問題は、この方法ではなく、私のカスタム保存ボタンをクリックして「SaveCopyAs」メソッドが動作しない場合正しく動作しています。 (例外がスローされないとコードにコンパイルおよびデバッグのすべてのい)
Excel interopを使用しないでください。それは非常に貧しいです。 – gdoron
'_excelApp.EnableEvents = false;'は疑わしく見えます。 – gdoron
私はあなたに同意します、interopを非常に悪いです。しかし、私は使用する必要があります。他に選択肢はありますか? –