Comment : supprimer des extensions de code managé de documentsHow to: Remove Managed Code Extensions from Documents

Vous pouvez supprimer par programmation l’assembly de personnalisation à partir d’un document ou classeur qui fait partie d’une personnalisation au niveau du document pour Microsoft Office Word ou Microsoft Office Excel.You can programmatically remove the customization assembly from a document or workbook that is part of a document-level customization for Microsoft Office Word or Microsoft Office Excel. Les utilisateurs peuvent ensuite ouvrir les documents et afficher le contenu, mais toute interface utilisateur personnalisée (UI) que vous ajoutez aux documents n’apparaîtra pas et votre code ne fonctionnera pas.Users can then open the documents and view the contents, but any custom user interface (UI) you add to the documents will not appear, and your code will not run.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document pour Excel et Word.Applies to: The information in this topic applies to document-level projects for Excel and Word. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.For more information, see Features Available by Office Application and Project Type.

Vous pouvez supprimer l’assembly de personnalisation à l’aide d’une des méthodes RemoveCustomization fournies par le Visual Studio Tools pour Office RuntimeVisual Studio Tools for Office runtime.You can remove the customization assembly by using one of the RemoveCustomization methods provided by the Visual Studio Tools pour Office RuntimeVisual Studio Tools for Office runtime. Méthode à utiliser varie selon que vous souhaitez supprimer la personnalisation au moment de l’exécution (autrement dit, en exécutant le code dans la personnalisation pendant que le mot document ou classeur Excel est ouvert), ou si vous souhaitez supprimer la personnalisation d’un document fermé ou d’un document que i s sur un serveur qui n’a pas de Microsoft Office est installé.Which method you use depends on whether you want to remove the customization at run time (that is, by running code in the customization while the Word document or Excel workbook is open), or if you want to remove the customization from a closed document or a document that is on a server that does not have Microsoft Office installed.

lien vers la vidéo pour une démonstration vidéo connexe, consultez comment faire : n’attacher ou détacher un Assembly VSTO à partir d’un Document Word ?.link to video For a related video demonstration, see How Do I: Attach or Detach a VSTO Assembly from a Word Document?.

Pour supprimer l’assembly de personnalisation au moment de l’exécutionTo remove the customization assembly at run time

  1. Dans votre code de personnalisation, appelez le RemoveCustomization (méthode) (pour Word) ou RemoveCustomization (méthode) (pour Excel).In your customization code, call the RemoveCustomization method (for Word) or the RemoveCustomization method (for Excel). Cette méthode doit être appelée uniquement après que la personnalisation n’est plus nécessaire.This method should be called only after the customization is no longer needed.

    Lorsque vous appelez cette méthode dans votre code dépend de l’utilisation de votre personnalisation.Where you call this method in your code depends on how your customization is used. Par exemple, si les clients utilisent les fonctionnalités de votre personnalisation jusqu'à ce qu’ils sont prêts à envoyer le document à d’autres clients qui doivent uniquement le document lui-même (et pas sa personnalisation), vous pouvez fournir une interface utilisateur qui appelle RemoveCustomization lorsque l’utilisateur clique dessus.For example, if customers use your customization's features until they are ready to send the document to other clients that only need to the document itself (not the customization), you can provide some UI that calls RemoveCustomization when the customer clicks it. Si votre personnalisation remplit le document de données lorsqu’il est tout d’abord ouvert, mais ne fournit pas d’autres fonctionnalités qui sont accessibles directement par les clients, puis vous pouvez également appeler RemoveCustomization dès que votre personnalisation termine l’initialisation du document.Alternatively, if your customization populates the document with data when it is first opened, but the customization doesn't provide any other features that are accessed directly by customers, then you can call RemoveCustomization as soon as your customization finishes initializing the document.

Pour supprimer l’assembly de personnalisation à partir d’un document fermé ou d’un document sur un serveurTo remove the customization assembly from a closed document or a document on a server

  1. Dans un projet qui ne requiert pas de Microsoft Office, telle qu’une application console ou un projet Windows Forms, ajoutez une référence à l’assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.In a project that does not require Microsoft Office, such as a console application or Windows Forms project, add a reference to the Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll assembly.

  2. Ajoutez le code suivant importations ou à l’aide de en haut du fichier de code.Add the following Imports or using statement to the top of your code file.

    using Microsoft.VisualStudio.Tools.Applications;
    
    Imports Microsoft.VisualStudio.Tools.Applications
    
  3. Appelez la méthode statique RemoveCustomization méthode de la ServerDocument classe et spécifiez le chemin d’accès du document de solution pour le paramètre.Call the static RemoveCustomization method of the ServerDocument class, and specify the solution document path for the parameter.

    L’exemple de code suivant suppose que vous supprimez la personnalisation d’un document nommé Documentword1.docx qui se trouve sur le bureau.The following code example assumes that you are removing the customization from a document named WordDocument1.docx that is on the 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);
    }
    
    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
    
  4. Générez le projet et exécuter l’application sur l’ordinateur sur lequel vous souhaitez supprimer la personnalisation.Build the project and run the application on the computer where you want to remove the customization. L’ordinateur doit disposer de Visual Studio 2010 Tools pour Office Runtime.The computer must have the Visual Studio 2010 Tools for Office Runtime installed.

Voir aussiSee Also

Gestion de Documents sur un serveur à l’aide de la classe ServerDocument Managing Documents on a Server by Using the ServerDocument Class
Guide pratique pour attacher des extensions de code managé à des documentsHow to: Attach Managed Code Extensions to Documents