Supprimer des extensions de code managé des documents

Vous pouvez supprimer par programmation l’assembly de personnalisation d’un document ou d’un classeur qui fait partie d’une personnalisation au niveau du document pour Microsoft Bureau Word ou Microsoft Bureau Excel. Les utilisateurs peuvent ensuite ouvrir les documents et afficher le contenu, mais toute interface utilisateur personnalisée que vous ajoutez aux documents n’apparaît pas et votre code n’est pas exécuté.

S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document pour Excel et Word. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

Vous pouvez supprimer l’assembly de personnalisation à l’aide de l’une RemoveCustomization des méthodes fournies par le runtime Visual Studio Tools pour Office. La méthode que vous utilisez varie selon que vous souhaitez supprimer la personnalisation au moment de l’exécution (autrement dit, en exécutant du code dans la personnalisation pendant que le document Word ou le classeur Excel est ouvert), ou si vous souhaitez supprimer la personnalisation d’un document fermé ou d’un document sur un serveur sur lequel Microsoft n’est pas installé Bureau.

Pour supprimer l’assembly de personnalisation au moment de l’exécution

  1. Dans votre code de personnalisation, appelez la RemoveCustomization méthode (pour Word) ou la RemoveCustomization méthode (pour Excel). Cette méthode doit être appelée uniquement après que la personnalisation n’est plus nécessaire.

    L’endroit où vous appelez cette méthode dans votre code dépend de la façon dont votre personnalisation est utilisée. Par exemple, si les clients utilisent les fonctionnalités de votre personnalisation jusqu’à ce qu’ils soient prêts à envoyer le document à d’autres clients qui n’ont besoin que du document lui-même (et non de la personnalisation), vous pouvez fournir une interface utilisateur qui appelle RemoveCustomization lorsque le client clique dessus. Sinon, si votre personnalisation remplit le document avec des données lorsqu’il est ouvert pour la première fois, mais que la personnalisation ne fournit aucune autre fonctionnalité accessible directement par les clients, vous pouvez appeler RemoveCustomization dès que votre personnalisation termine l’initialisation du document.

Pour supprimer l’assembly de personnalisation d’un document fermé ou d’un document sur un serveur

  1. Dans un projet qui ne nécessite pas microsoft Bureau, tel qu’une application console ou un projet Windows Forms, ajoutez une référence à l’assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.

  2. Ajoutez l’instruction Imports ou using suivante en haut de votre fichier de code.

    using Microsoft.VisualStudio.Tools.Applications;
    
  3. Appelez la méthode statique RemoveCustomization de la ServerDocument classe et spécifiez le chemin du document de solution pour le paramètre.

    L’exemple de code suivant suppose que vous supprimez la personnalisation d’un document nommé WordDocument1.docx qui se trouve sur le bureau.

    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);
    }
    
  4. Générez le projet et exécutez l’application sur l’ordinateur sur lequel vous souhaitez supprimer la personnalisation. L’ordinateur doit avoir installé Visual Studio 2010 Tools pour Bureau runtime.