Condividi tramite


Procedura: rimuovere estensioni di codice gestito da documenti (System 2007)

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di documento

Versione Microsoft Office

  • Microsoft Office System 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

È possibile rimuovere a livello di codice l'assembly di personalizzazione di Visual Studio Tools per Office da un documento o da una cartella di lavoro che fa parte di una personalizzazione a livello di documento per Microsoft Office System 2007. Gli utenti potranno quindi aprire i documenti e visualizzarne il contenuto, ma le eventuali interfacce utente personalizzate aggiunte ai documenti non saranno visualizzate e il codice non verrà eseguito.

È possibile rimuovere l'assembly di personalizzazione utilizzando uno dei metodi RemoveCustomization forniti dal runtime di Visual Studio Tools per Office. Il metodo da utilizzare varia a seconda che si desideri rimuovere la personalizzazione in fase di esecuzione (ovvero, eseguendo codice nella soluzione Visual Studio Tools per Office ) o da un documento chiuso o un documento che si trova su un server in cui non è installato Microsoft Office.

Per rimuovere l'assembly di personalizzazione in fase di esecuzione

Per rimuovere l'assembly di personalizzazione da un documento chiuso o un documento in un server

  1. Creare un nuovo progetto che non avvia Word o Excel, ad esempio un'applicazione console o un progetto Windows Form.

  2. Aggiungere un riferimento all'assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll al progetto.

  3. Aggiungere l'istruzione Imports o using seguente all'inizio del file di codice.

    Imports Microsoft.VisualStudio.Tools.Applications
    
    using Microsoft.VisualStudio.Tools.Applications;
    
  4. Chiamare il metodo statico RemoveCustomization della classe ServerDocument e specificare il percorso del documento della soluzione per il parametro.

    L'esempio di codice seguente presuppone che si stia rimuovendo la personalizzazione da un documento denominato WordDocument1.docx che si trova sul desktop.

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

Vedere anche

Attività

Procedura: scrivere codice che utilizzi entrambe le versioni della classe ServerDocument

Procedura: associare estensioni di codice gestito a documenti (System 2007)

Procedura: rimuovere estensioni di codice gestito da documenti (System 2003)

Procedura: associare estensioni di codice gestito a documenti (System 2003)

Concetti

Gestione dei documenti di un server utilizzando la classe ServerDocument