Procedura: associare estensioni di codice gestito a 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
Versione Microsoft Office
Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione. |
È possibile associare una personalizzazione di Visual Studio Tools per Office a un documento di Microsoft Office Word 2007 o a una cartella di lavoro di Microsoft Office Excel 2007 esistenti. Il documento o la cartella di lavoro può essere in qualsiasi formato di file supportato in Visual Studio Tools per Office. Per ulteriori informazioni, vedere la classe Architettura delle personalizzazioni a livello di documento.
Nota: |
---|
Non sarà possibile caricare la personalizzazione se il codice prevede la presenza di controlli di cui il documento specificato è privo. |
Per associare una personalizzazione di Visual Studio Tools per Office a un documento di Word o di Excel, utilizzare il metodo AddCustomization della classe ServerDocument. Poiché la classe ServerDocument è progettata per l'esecuzione in un computer privo di Microsoft Office, è possibile utilizzare questo metodo in soluzioni non basate su progetti Visual Studio Tools per Office (ad esempio, un'applicazione console o Windows Form).
Per collegare le estensioni di codice gestito a un documento
Creare un nuovo progetto che non avvia Word o Excel, ad esempio un'applicazione console o un progetto Windows Form.
Nel nuovo progetto aggiungere un riferimento agli assembly seguenti.
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll
Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll
Aggiungere l'istruzione Imports o using seguente all'inizio del file di codice.
Imports Microsoft.VisualStudio.Tools.Applications Imports Microsoft.VisualStudio.Tools.Applications.Runtime
using Microsoft.VisualStudio.Tools.Applications; using Microsoft.VisualStudio.Tools.Applications.Runtime;
Chiamare il metodo statico AddCustomization.
Nell'esempio di codice riportato di seguito viene utilizzato l'overload AddCustomization, il quale assume il percorso completo del documento e un oggetto Uri che specifica il percorso del manifesto di distribuzione per la personalizzazione che si desidera associare al documento. In questo esempio si presuppone che un documento di Word denominato WordDocument1.docx si trovi sul desktop e che il manifesto di distribuzione sia situato in una cartella denominata Publish anch'essa sul desktop.
Dim documentPath As String = System.Environment.GetFolderPath( _ Environment.SpecialFolder.Desktop) + "\WordDocument1.docx" Dim runtimeVersion As Integer = 0 Try runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath) ' Make sure that this document does not yet have any Visual Studio Tools ' for Office customizations. If runtimeVersion = 0 Then Dim deployManifestPath As String = System.Environment.GetFolderPath( _ Environment.SpecialFolder.Desktop) & "\Publish\WordDocument1.vsto" Dim deploymentManifestUri As New Uri(deployManifestPath) ServerDocument.AddCustomization(documentPath, deploymentManifestUri) System.Windows.Forms.MessageBox.Show("The document was successfully customized.") Else System.Windows.Forms.MessageBox.Show("The document is already customized.") End If Catch ex As FileNotFoundException System.Windows.Forms.MessageBox.Show("The specified document does not exist.") Catch ex As DocumentNotCustomizedException System.Windows.Forms.MessageBox.Show("The document could not be customized." & _ vbLf & ex.Message) End Try
string documentPath = System.Environment.GetFolderPath( Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx"; int runtimeVersion = 0; try { runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath); // Make sure that this document does not yet have any Visual Studio Tools // for Office customizations. if (runtimeVersion == 0) { string deployManifestPath = System.Environment.GetFolderPath( Environment.SpecialFolder.Desktop) + @"\Publish\WordDocument1.vsto"; Uri deploymentManifestUri = new Uri(deployManifestPath); ServerDocument.AddCustomization(documentPath, deploymentManifestUri); System.Windows.Forms.MessageBox.Show("The document was successfully customized."); } else { System.Windows.Forms.MessageBox.Show("The document is already customized."); } } catch (FileNotFoundException) { System.Windows.Forms.MessageBox.Show("The specified document does not exist."); } catch (DocumentNotCustomizedException ex) { System.Windows.Forms.MessageBox.Show("The document could not be customized.\n" + ex.Message); }
Vedere anche
Attività
Procedura: scrivere codice che utilizzi entrambe le versioni della classe ServerDocument
Procedura: rimuovere estensioni di codice gestito da 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
Manifesti dell'applicazione e di distribuzione nelle soluzioni di Office