Comment : joindre des extensions de code managé à des documents (Office System 2007)
Mise à jour : novembre 2007
S'applique à |
---|
Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés. Type de projet
Version de Microsoft Office
Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet. |
Vous pouvez attacher une personnalisation Visual Studio Tools pour Office à un document Microsoft Office Word 2007 ou un classeur Microsoft Office Excel 2007 existant. Le document ou classeur peut être dans n'importe quel format de fichier pris en charge par Visual Studio Tools pour Office. Pour plus d'informations, consultez Architecture des personnalisations au niveau du document.
Remarque : |
---|
Le chargement de la personnalisation échouera si le code attend des contrôles que le document spécifié ne possède pas. |
Pour joindre une personnalisation Visual Studio Tools pour Office à un document Word ou Excel, utilisez la méthode AddCustomization de la classe ServerDocument. Comme la classe ServerDocument est conçue pour s'exécuter sur un ordinateur où Microsoft Office n'est pas installé, vous pouvez utiliser cette méthode dans des solutions qui ne reposent pas sur des projets Visual Studio Tools pour Office (telle qu'une application console ou Windows Forms).
Pour joindre des extensions de code managé à un document
Créez un projet qui ne démarre pas Word ou Excel, comme une application console ou un projet Windows Forms.
Dans le nouveau projet, ajoutez une référence aux assemblys suivants.
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll
Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll
Ajoutez l'instruction Imports ou using suivante en haut de votre fichier de code.
Imports Microsoft.VisualStudio.Tools.Applications Imports Microsoft.VisualStudio.Tools.Applications.Runtime
using Microsoft.VisualStudio.Tools.Applications; using Microsoft.VisualStudio.Tools.Applications.Runtime;
Appelez la méthode AddCustomization statique.
L'exemple de code suivant utilise la surcharge AddCustomization. Cette surcharge utilise le chemin d'accès complet du document et un Uri qui spécifie l'emplacement du manifeste de déploiement pour la personnalisation que vous voulez joindre au document. Cet exemple part du principe qu'un document Word appelé WordDocument1.docx est affiché sur le Bureau et que le manifeste de déploiement se trouve dans le dossier Publish, également sur le Bureau.
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); }
Voir aussi
Tâches
Comment : pour écrire du code qui utilise les deux versions de la classe ServerDocument
Comment : supprimer des extensions de code managé de documents (Office System 2007)
Comment : supprimer des extensions de code managé de documents (Office System 2003)
Comment : joindre des extensions de code managé à des documents (Office System 2003)
Concepts
Gestion de documents sur un serveur à l'aide de la classe ServerDocument
Manifestes d'application et de déploiement dans les solutions Office