與Visual Studio 2013我針對.NET Framework 4,並創造了單加載項,同時針對Office 2007和Office 2010。我選擇2010的加載項,但它應該在2007年accordind工作此鏈接: https://blogs.msdn.microsoft.com/vsto/2010/06/04/creating-an-add-in-for-office-2007-and-office-2010-that-lights-up-on-office-2010-mclean-schofield/Word 2007中加載項功能區 - InternalStartup
我使用的功能區設計(不帶XML)在我AddInin啓動方法我有以下幾點:
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
((Word.ApplicationEvents4_Event)this.Application).NewDocument += new Microsoft.Office.Interop.Word.ApplicationEvents4_NewDocumentEventHandler(Application_NewDocument);
this.Application.DocumentBeforeClose += new Word.ApplicationEvents4_DocumentBeforeCloseEventHandler(Application_DocumentBeforeClose);
//THIS LINE FAILS IN Word 2007 but not in Word 2010
this.Application.ActiveDocument.Saved = false;
}
基本上我捕捉關閉事件,我做了一些在那個事件中我自己的自定義代碼。這工作完全在2010年2007年色帶安裝和一些功能的工作原理然而,當我關閉我的文檔「Application_DocumentBeforeClose」關閉事件dosnt被調用Word 2007年有什麼建議?
更新:我改變了我的代碼,但建議行了,當我打開一個文檔錯誤在Word 2007以下失敗 - 「因爲沒有文檔是打開此命令不可用。」
this.Application.ActiveDocument.Saved = false;
變化在2010年帶製成,2007年不支持。您是使用VSTO功能區設計器創建功能區還是使用功能區XML?如果功能區XML,您使用了哪個命名空間? –
辛迪我使用了絲帶設計器而不是xml。我的代碼存在於WordAdd類中。 – gisWeeper
你不應該把代碼放在InternalStartup中,這是VSTO的代碼。將DocumentBeforeClose初始化放入ThisAddIn_Startup。對不起,我以前沒有看到過,但由於您的標題強調功能區,這就是我正在關注的。你可能想編輯... –