Partager via


Comment : joindre des extensions de code managé à des documents (Office System 2003)

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

  • Projets au niveau du document

Version de Microsoft Office

  • Microsoft Office 2003

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Vous pouvez attacher un assembly de solution Visual Studio Tools pour Office à un document Microsoft Office Word 2003 ou à un classeur Microsoft Office Excel 2003 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.

Si vous attachez un assembly de solution à un document qui ne fait encore l'objet d'aucune personnalisation Visual Studio Tools pour Office, le runtime de Visual Studio Tools pour Office crée automatiquement un contrôle Runtime Storage dans le document. Pour plus d'informations, consultez Vue d'ensemble du contrôle Runtime Storage.

Remarque :

Si le document spécifié ne contient aucun contrôle que l'assembly de solution s'attend à y trouver, le chargement de l'assembly échoue lorsque l'utilisateur ouvre le document.

Deux méthodes permettent d'attacher un assembly de solution à un document :

  • définir manuellement des propriétés de document personnalisées dans le document lui-même ;

  • attacher par programme l'assembly en utilisant la classe ServerDocument.

Utilisation de propriétés de document personnalisées

Vous pouvez attacher un assembly de solution Visual Studio Tools pour Office à un document Word ou Excel en définissant manuellement les propriétés de document personnalisées _AssemblyName et _AssemblyLocation. Pour plus d'informations, consultez Vue d'ensemble des propriétés de document personnalisées.

La procédure suivante suppose que vous avez déjà déployé l'assembly de solution et que la solution utilise un manifeste de déploiement. Pour plus d'informations, consultez Déploiement de personnalisations au niveau du document (Office System 2003).

Pour attacher un assembly de solution en définissant les propriétés de document personnalisées

  1. Ouvrez le document dans Word ou Excel.

  2. Dans le menu Fichier, cliquez sur Propriétés, puis sur l'onglet Personnalisé.

  3. Définissez la propriété _AssemblyName :

    1. Si _AssemblyName apparaît dans la liste Propriétés, sélectionnez _AssemblyName et tapez un astérisque (*) dans la zone Valeur.

    2. Si _AssemblyName ne figure pas dans la liste, tapez _AssemblyName dans la zone Nom, tapez un astérisque (*) dans la zone Valeur, puis cliquez sur Ajouter.

  4. Définissez la propriété _AssemblyLocation :

    1. Si _AssemblyLocation figure dans la liste Propriétés, sélectionnez _AssemblyLocation et tapez le chemin complet du manifeste de déploiement dans la zone Valeur.

    2. Si _AssemblyLocation ne figure pas dans la liste, tapez _AssemblyLocation dans la zone Nom, tapez le chemin complet du manifeste de déploiement dans la zone Valeur, puis cliquez sur Ajouter.

    L'emplacement du manifeste de déploiement peut consister en un chemin d'accès de disque (C:\deploy\Document1.application), un partage de fichiers (\\server\Document1.application), ou un site Web (https://www.contoso.com/Document1.application).

    Remarque :

    La valeur d'une propriété du document personnalisée peut contenir 255 caractères. Si le chemin d'accès du manifeste dépasse les 255 caractères, créez une propriété nommée _AssemblyLocation0 et attribuez-la aux 255 premiers caractères du chemin d'accès. Ensuite, créez une propriété nommée _AssemblyLocation1 et attribuez-lui pour valeur les caractères restants dans le chemin d'accès du manifeste.

  5. Cliquez sur OK, puis enregistrez et fermez le document.

    Lorsque le document est à nouveau ouvert et enregistré, le runtime de Visual Studio Tools pour Office joint l'assembly de solution au document et crée le contrôle Runtime Storage, si nécessaire. Le runtime de Visual Studio Tools pour Office attribue également pour valeur à la propriété de document personnalisée _AssemblyLocation le GUID du contrôle Runtime Storage. Pour plus d'informations, consultez Vue d'ensemble du contrôle Runtime Storage.

    Remarque :

    Le document doit être ouvert et enregistré sur un ordinateur doté du runtime de Visual Studio Tools pour Office. Pour plus d'informations, consultez Comment : installer Visual Studio Tools pour Office Runtime

Utilisation de la classe ServerDocument

Vous pouvez attacher un assembly de solution Visual Studio Tools pour Office à un document Word ou Excel en utilisant la méthode AddCustomization de la classe ServerDocument. Vous devez placer un code qui utilise la classe ServerDocument dans un nouveau projet (et non dans votre solution Visual Studio Tools pour Office) ; par exemple, dans un projet Windows Forms. De plus, le document auquel vous attachez l'assembly doit être fermé et se trouver sur un ordinateur sur lequel Word (pour les documents Word) ou Excel (pour les classeurs Excel) est installé.

La procédure suivante suppose que vous avez déjà déployé l'assembly de solution et que la solution utilise un manifeste de déploiement. Pour plus d'informations, consultez Déploiement de personnalisations au niveau du document (Office System 2003).

Pour attacher un assembly de solution à un document en utilisant la classe ServerDocument

  1. Créez un projet Windows Forms.

  2. Ajoutez au projet une référence à l'assembly Microsoft.VisualStudio.Tools.Applications.Runtime.dll.

  3. Ajoutez une instruction Imports ou using pour l'exécution au début de votre fichier de code.

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Appelez la méthode statique AddCustomization de la classe ServerDocument et spécifiez dans les paramètres le chemin d'accès du document de solution, le nom de l'assembly et le chemin d'accès du manifeste de déploiement. Le code suivant suppose que vous attachiez un assembly à un document Word nommé WordDocument1.doc, enregistré dans le dossier C:\WordDocument1, et que l'assembly ainsi que le manifeste de déploiement soient enregistrés sur le partage réseau \\deployserver\WordDocument1\.

    Private Sub AddNewCustomization()
    
        Dim fileName As String = "C:\WordDocument1\WordDocument1.doc"
    
        If Not ServerDocument.IsCustomized(fileName) Then
    
            Dim assemblyName As String = "\\deployserver\WordDocument1\WordDocument1.dll"
            Dim manifestPath As String = "\\deployserver\WordDocument1\WordDocument1.application"
            Dim applicationVersion As String = "1.0.0.0"
    
            ServerDocument.AddCustomization( _
                fileName, assemblyName, manifestPath, applicationVersion, False)
    
        Else
            System.Windows.Forms.MessageBox.Show( _
                "The specified document is already customized.")
        End If
    End Sub
    
    private void AddNewCustomization()
    {
        string fileName = @"C:\WordDocument1\WordDocument1.doc";
    
        if (!ServerDocument.IsCustomized(fileName))
        {
            string assemblyName = @"\\deployserver\WordDocument1\WordDocument1.dll";
            string manifestPath = @"\\deployserver\WordDocument1\WordDocument1.application";
            string applicationVersion = "1.0.0.0";
    
            ServerDocument.AddCustomization(
                fileName, assemblyName, manifestPath, applicationVersion, false);
        }
        else
        {
            System.Windows.Forms.MessageBox.Show(
                "The specified document is already customized.");
        }
    }
    

    Le runtime de Visual Studio Tools pour Office attache l'assembly de solution au document et crée un contrôle Runtime Storage, si nécessaire. Pour plus d'informations, consultez Vue d'ensemble du contrôle Runtime Storage.

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 2003)

Comment : supprimer des extensions de code managé de documents (Office System 2007)

Comment : joindre des extensions de code managé à des documents (Office System 2007)

Concepts

Gestion de documents sur un serveur à l'aide de la classe ServerDocument

Manifestes d'application et de déploiement dans les solutions Office

Vue d'ensemble du contrôle Runtime Storage