Rimuovere le estensioni del codice gestito dai documenti
È possibile rimuovere a livello di codice l'assembly di personalizzazione da un documento o una cartella di lavoro che fa parte di una personalizzazione a livello di documento per Microsoft Office Word o Microsoft Office Excel. Gli utenti possono quindi aprire i documenti e visualizzare il contenuto, ma qualsiasi interfaccia utente personalizzata aggiunta ai documenti non verrà visualizzata e il codice non verrà eseguito.
Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento per Excel e Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.
È possibile rimuovere l'assembly di personalizzazione usando uno dei RemoveCustomization
metodi forniti dal Strumenti di Visual Studio per il runtime di Office. Il metodo utilizzato dipende dal fatto che si desidera rimuovere la personalizzazione in fase di esecuzione, ovvero eseguendo il codice nella personalizzazione mentre il documento di Word o la cartella di lavoro di Excel è aperta, oppure se si desidera rimuovere la personalizzazione da un documento chiuso o da un documento in un server in cui non è installato Microsoft Office.
Per rimuovere l'assembly di personalizzazione in fase di esecuzione
Nel codice di personalizzazione chiamare il RemoveCustomization metodo (per Word) o il RemoveCustomization metodo (per Excel). Questo metodo deve essere chiamato solo dopo che la personalizzazione non è più necessaria.
La posizione in cui si chiama questo metodo nel codice dipende dal modo in cui viene usata la personalizzazione. Ad esempio, se i clienti usano le funzionalità della personalizzazione fino a quando non sono pronti per inviare il documento ad altri client che devono solo il documento stesso (non la personalizzazione), è possibile fornire un'interfaccia utente che chiama
RemoveCustomization
quando il cliente lo fa clic. In alternativa, se la personalizzazione popola il documento con i dati quando viene aperto per la prima volta, ma la personalizzazione non fornisce altre funzionalità accessibili direttamente dai clienti, è possibile chiamare RemoveCustomization non appena la personalizzazione termina l'inizializzazione del documento.
Per rimuovere l'assembly di personalizzazione da un documento chiuso o da un documento in un server
In un progetto che non richiede Microsoft Office, ad esempio un'applicazione console o un progetto di Windows Form, aggiungere un riferimento all'assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.
Aggiungere l'istruzione Imports o using seguente all'inizio del file di codice.
Chiamare il metodo statico RemoveCustomization della ServerDocument classe e specificare il percorso del documento della soluzione per il parametro .
Nell'esempio di codice seguente si presuppone che la personalizzazione venga rimossa da un documento denominato WordDocument1.docx presente sul desktop.
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); }
Compilare il progetto ed eseguire l'applicazione nel computer in cui si vuole rimuovere la personalizzazione. Nel computer deve essere installato il runtime di Visual Studio 2010 Tools per Office.