共用方式為


HOW TO:從文件移除 Managed 程式碼擴充 (2007 系統)

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

Microsoft Office 版本

  • 2007 Microsoft Office system

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

您可以用程式設計方式從文件或活頁簿中移除 Visual Studio Tools for Office 自訂組件 (Assembly),而這個文件或活頁簿屬於 2007 Microsoft Office system 的文件層級自訂一部分。使用者可以接著開啟文件並檢視內容,但是您加入至文件的任何自訂使用者介面 (UI) 都不會出現,而且程式碼也不會執行。

您可以使用 Visual Studio Tools for Office Runtime 提供的其中一個 RemoveCustomization 方法,移除自訂組件。使用的方法取決於想要在執行階段移除自訂 (亦即在 Visual Studio Tools for Office 方案中執行程式碼),或是從已關閉文件或未安裝 Microsoft Office 之伺服器上的文件移除自訂。

若要在執行階段移除自訂組件

若要從已關閉文件或伺服器上的文件移除自訂組件

  1. 建立不會啟動 Word 或 Excel 的新專案,例如主控台應用程式或 Windows Form 專案。

  2. 在新專案中加入 Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll 組件的參考。

  3. 將下列 Imports 或 using 陳述式加入至程式碼檔的最上方。

    Imports Microsoft.VisualStudio.Tools.Applications
    
    using Microsoft.VisualStudio.Tools.Applications;
    
  4. 呼叫 ServerDocument 類別的靜態 RemoveCustomization 方法,然後指定參數的方案文件路徑。

    下列程式碼範例假設您是從桌面上的 WordDocument1.docx 文件中移除自訂。

    Dim documentPath As String = System.Environment.GetFolderPath( _
        Environment.SpecialFolder.Desktop) & "\WordDocument1.docx"
    Dim runtimeVersion As Integer = 0
    
    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            ServerDocument.RemoveCustomization(documentPath)
            System.Windows.Forms.MessageBox.Show("The customization has been removed.")
        End If
    Catch ex As FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As IOException
        System.Windows.Forms.MessageBox.Show("The specified document is read-only.")
    Catch ex As InvalidOperationException
        System.Windows.Forms.MessageBox.Show("The customization could not be removed." & _
            vbLf & ex.Message)
    End Try
    
    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);
    }
    

請參閱

工作

HOW TO:撰寫使用 ServerDocument 類別兩個版本的程式碼

HOW TO:將 Managed 程式碼擴充附加至文件 (2007 系統)

HOW TO:從文件移除 Managed 程式碼擴充 (2003 系統)

HOW TO:將 Managed 程式碼擴充附加至文件 (2003 系統)

概念

使用 ServerDocument 類別管理伺服器上的文件