Question

J'ai développé un complément PowerPoint pour les versions 2003 et antérieures qui génère une commande CommandBar / barre d'outils lors de l'installation.

Je n'ai aucune difficulté suppression de cette barre de commandes lors de la désinstallation, mais parce qu'il utilise l'événement Auto_Close de le faire, il supprime également la barre d'outils tous les temps se ferme PowerPoint, ce qui empêche l'utilisateur de personnaliser de façon permanente la position du CommandBar.

J'ai essayé une suppression conditionnelle en vérifiant si le complément est enregistré ou chargé, mais Auto_Close semble fonctionner avant que le déchargement ou le désenregistrement.

Toutes les idées sur la façon de supprimer la barre de commandes que lorsque le complément est désinstallés?

Sub Auto_Close()
Dim pptAddin As AddIn

    For Each pptAddin In AddIns
        If pptAddin.Name = "AddInName" And _
            pptAddin.Registered <> msoTrue Then
            Application.CommandBars("CommandBarName").Delete
        End If
    Next

End Sub
Était-ce utile?

La solution

Il est une bonne idée de faire ce que vous faites - la suppression de votre CommandBar lorsque PowerPoint se ferme. De cette façon, si jamais il y a une erreur, votre complément ne laisse pas des artefacts dans l'interface utilisateur qui ne fonctionnent pas.

Pour la gestion de l'Etat cependant, beaucoup de gens utilisent GetSetting et SaveSetting pour la lecture / écriture à une zone sandbox dans le Registre des programmes VB / VBA. Recherchez les fonctions suivantes sur ce : GetSetting, SaveSetting, GetAllSettings, DeleteSetting. Vous pouvez les utiliser pour gérer CommandBar de votre complément entre les instances PowerPoint. Il est relativement simple à utiliser - ici un tutoriel pour Excel qui s'appliquerait également PowerPoint.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top