2
我有一個Word AddIn(VSTO),它將在用戶關閉它之後處理單詞文檔。 不幸的是,即使文檔並非真的關閉,也會引發DocumentBeforeClose
事件。例如:如何在文檔關閉後進行事件或運行方法?
例如:在向用戶顯示一個對話框提示用戶保存文檔之前引發事件。詢問用戶是否要用「是」,「否」和「取消」按鈕進行保存。如果用戶選擇取消,則即使發生了DocumentBeforeClose
事件,文檔仍保持打開狀態。 由於這個原因,有什麼方法或方法可以在文檔關閉後製作event
或Method
,它們是raised
或run
。
我試着這樣做:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Globals.ThisAddIn.Application.DocumentBeforeClose += new Microsoft.Office.Interop.Word.ApplicationEvents4_DocumentBeforeCloseEventHandler(this.Application_DocumentBeforeClose);
// I want some thing like this
Globals.ThisAddIn.Application.DocumentAfterClose += new Microsoft.Office.Interop.Word.ApplicationEvents4_DocumentOpenEventHandler(this.Application_DocumentAfterClose);
}
public void Application_DocumentBeforeClose(Word.Document doc, ref bool Cancel)
{
MessageBox.Show(doc.Path, "Path");
}
// I want some thing like this
public void Application_DocumentAfterClose(string doc_Path)
{
MessageBox.Show(doc_Path, "Path");
}
非常感謝你對你的幫助@DirkVollmar。 順便說一下,當他關閉文檔而不保存上次更改時,對話框仍然對用戶提示。所以我想要一個從提示對話框得到結果後會引發的事情。 – hoss77
@ hoss77:對不起,請看我的編輯。 –
是的你是對的我可以在這段代碼後運行我的方法: 'Application.ActiveDocument.Close(WdSaveOptions.wdPromptToSaveChanges);' 但問題仍然存在,因爲用戶可能他會點擊取消按鈕。我怎麼能知道這一點? 或者我怎樣才能顯示這個SaveChanges框並獲得'DialogResult'。 – hoss77