Gewusst wie: Entfernen verwalteter Codeerweiterungen aus Dokumenten (2007 System)

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

Microsoft Office-Version

  • 2007 Microsoft Office System

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Sie können die Visual Studio Tools for Office-Anpassungsassembly programmgesteuert aus einem Dokument oder einer Arbeitsmappe entfernen, das bzw. die Teil einer Anpassung auf Dokumentebene für 2007 Microsoft Office System ist. Benutzer können die Dokumente dann öffnen und den Inhalt anzeigen, jedoch werden benutzerdefinierte Benutzeroberflächen, die Sie den Dokumenten hinzufügen, nicht angezeigt, und der von Ihnen erstellte Code wird nicht ausgeführt.

Sie können die Anpassungsassembly entfernen, indem Sie eine der RemoveCustomization-Methoden verwenden, die von der Visual Studio Tools for Office-Laufzeit bereitgestellt werden. Welche Methode Sie verwenden, hängt davon ab, ob Sie die Anpassung zur Laufzeit entfernen möchten (d. h. durch Ausführen von Code in der Visual Studio Tools for Office-Projektmappe) oder aus einem geschlossenen Dokument bzw. einem Dokument, das sich auf einem Server befindet, auf dem Microsoft Office nicht installiert ist.

So entfernen Sie die Anpassungsassembly zur Laufzeit

So entfernen Sie die Anpassungsassembly aus einem geschlossenen Dokument oder einem Dokument auf einem Server

  1. Erstellen Sie ein neues Projekt, das nicht Word oder Excel startet, beispielsweise eine Konsolenanwendung oder ein Windows Forms-Projekt.

  2. Fügen Sie dem neuen Projekt einen Verweis auf die Assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll hinzu.

  3. Fügen Sie am Anfang der Codedatei die folgende Imports-Anweisung bzw. using-Anweisung ein.

    Imports Microsoft.VisualStudio.Tools.Applications
    
    using Microsoft.VisualStudio.Tools.Applications;
    
  4. Rufen Sie die statische RemoveCustomization-Methode der ServerDocument-Klasse auf, und geben Sie den Pfad zum Projektmappendokument als Parameter an.

    Im folgenden Codebeispiel wird angenommen, dass Sie die Anpassung aus einem Dokument mit dem Namen WordDocument1.docx entfernen, das sich auf dem Desktop befindet.

    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);
    }
    

Siehe auch

Aufgaben

Gewusst wie: Schreiben von Code, der beide Versionen der ServerDocument-Klasse verwendet

Gewusst wie: Anfügen von verwalteten Codeerweiterungen an Dokumente (2007 System)

Gewusst wie: Entfernen verwalteter Codeerweiterungen aus Dokumenten (2003 System)

Gewusst wie: Anfügen von verwalteten Codeerweiterungen an Dokumente (2003 System)

Konzepte

Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse