從檔案移除Managed程式碼延伸模組
您可以透過程序設計方式,從屬於 Microsoft Office Word 或 Microsoft Office Excel 檔案層級自定義一部分的檔或活頁簿中移除自定義元件。 然後,使用者可以開啟檔並檢視內容,但您新增至檔的任何自定義使用者介面 (UI) 都不會顯示,而且您的程式代碼不會執行。
適用於: 本主題中的資訊適用於 Excel 和 Word 的文件層級專案。 如需詳細資訊,請參閱 Office 應用程式 lication 和項目類型所提供的功能。
您可以使用 Visual Studio Tools for Office 執行時間 所提供的其中 RemoveCustomization
一種方法來移除自定義元件。 您使用的方法取決於您要在運行時間移除自定義專案(也就是在 Word 檔或 Excel 活頁簿開啟時在自定義中執行程式代碼),或如果您想要從關閉的檔案或未安裝 Microsoft Office 之伺服器上的檔案移除自定義。
若要在運行時間移除自定義元件
在您的自定義程式碼中,呼叫 RemoveCustomization 方法 (適用於 Word) 或 RemoveCustomization 方法 (適用於 Excel)。 只有在不再需要自定義之後,才應該呼叫這個方法。
您在程式代碼中呼叫此方法的位置取決於自訂的使用方式。 例如,如果客戶使用自定義的功能,直到他們準備好將檔傳送給其他只需要檔本身的用戶端(而非自定義),您可以提供客戶按兩下它時呼叫的一些 UI
RemoveCustomization
。 或者,如果您的自定義會在第一次開啟時以數據填入檔,但自定義不會提供客戶直接存取的任何其他功能,則只要自定義完成初始化檔,您就可以立即呼叫 RemoveCustomization。
若要從關閉的檔案或伺服器上的檔案移除自定義元件
在不需要 Microsoft Office 的專案中,例如控制台應用程式或 Windows Forms 專案,新增 Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll 元件的參考。
將下列 Imports 或 using 語句新增至程式代碼檔案頂端。
呼叫 類別的ServerDocument靜態RemoveCustomization方法,並指定 參數的解決方案文件路徑。
下列程式代碼範例假設您要從桌面上名為 WordDocument1.docx 的檔中移除自定義專案。
string documentPath = System.Environment.GetFolderPath( Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx"; int runtimeVersion = 0; try { runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath); if (runtimeVersion == 3) { ServerDocument.RemoveCustomization(documentPath); System.Windows.Forms.MessageBox.Show("The customization has been removed."); } } catch (FileNotFoundException) { System.Windows.Forms.MessageBox.Show("The specified document does not exist."); } catch (IOException) { System.Windows.Forms.MessageBox.Show("The specified document is read-only."); } catch (InvalidOperationException ex) { System.Windows.Forms.MessageBox.Show("The customization could not be removed.\n" + ex.Message); }
建置專案,並在您要移除自定義的計算機上執行應用程式。 計算機必須已安裝 Visual Studio 2010 Tools for Office 運行時間。