2017-10-20 14 views
0

J'ai quelques macros VBA PPT avec une interface de ruban personnalisé. Dont les macros fonctionnent bien à partir du code mais quand elles sont faites en add-in ppam et ajoutées aux addins PPT, certaines commandes lancent cette erreur msg, cependant la macro fonctionne bien, je veux juste arrêter ces msgs ennuyeux. Les sous-marins et les fonctions sont tous publics et il montre toujours la même erreur. Veuillez aider"La macro est introuvable ou a été désactivée en raison de vos paramètres de sécurité." PPAM addin provoquant cette erreur à partir du ruban, mais pas à partir du code

Public Sub frmFeedNotes_show() 
frmFeedNotes.Show 
End Sub 

<!--RibbonX Visual Designer 1.94 for Microsoft PowerPoint 16.0. XML Code produced on 2017-10-06--> 
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" > 
    <ribbon > 
     <tabs > 
      <tab 
       id="zenTools" 
       label="Zen Tools" 

       visible="true"> 

       <group 
        id="FileProp" 
        label="File Properties" 
        visible="true"> 

        <menu id="mnuExport" 
         label="Export Slides" 
         showImage="true" 
         imageMso="ExportToVCardFile" size="large"> 

         <button id="btnFeedNotes" 
          label="Feed Notes*" 
          imageMso="FootnotesEndnotesShow" 
          onAction="frmFeedNotes_show" /> 
         <button id="btnNotesCSV" 
          label="Notes as CSV" 
          imageMso="CommaSign" 
          onAction="ExportNotes" /> 
        </menu> 
       </group > 

      </tab > 
     </tabs > 
    </ribbon > 
</customUI > 
+0

Il serait utile si vous avez publié au moins le sous-programme qui provoque cette erreur et le code ribbonx qui le déclenche. Mais peut-être que votre code ribbonx appelle un sous/une fonction qui n'est pas déclaré comme public. –

+0

S'il vous plaît [modifier] (https://stackoverflow.com/posts/46847859/edit) votre ** question elle-même ** pour afficher le code et toute autre information requise pour répondre à la question. P.S. Je vais supprimer le tag [macro] inapproprié de la question - la description précise spécifiquement que cela n'a rien à voir avec VBA. – YowE3K

+0

Je crois que la macro fonctionne bien lorsqu'elle est exécutée directement à partir de l'éditeur VBA mais renvoie l'erreur lors de l'appel depuis le bouton ruban personnalisé, n'est-ce pas? – Rosetta

Répondre

0

Vous devez insérer le nom du module pour onAction, par ex. Le bouton du ruban passera également un paramètre au sous-marin, alors attendez-vous à recevoir un paramètre. Ajouter un paramètre pour la macro comme suit

Public Sub frmFeedNotes_show(ByVal control As IRibbonControl) 
    frmFeedNotes.Show 
End Sub 
+0

Merci Rosetta, Il a posé comme il le résoudrait finalement, mais toujours le même message de harcèlement semble à mon incrédulité. Vérifié à la fois vos correctifs maintenant, ne sachant pas quoi d'autre le provoque. D'ailleurs, je n'ai pas ajouté Module1. préfixe ni le paramètre dans le sous à mes autres macros, ils fonctionnent très bien. ce message n'apparaît que sur quelques macros. – Jegan

+0

s'il vous plaît décrire votre problème clairement afin que nous puissions aider – Rosetta

+0

Salut Rosetta, j'ai fait les 2 corrections suggérées: paramètre de fourniture (contrôle ByVal comme IRibbonControl) et en ajoutant onAction = "Module1.ExportNotes", toujours la même erreur msg apparaît. il n'apparaît pas sur quelques autres macros où je n'ai pas fait ces 2 corrections, donc ne sais pas ce qui cause ces msgs d'erreur. s'il vous plaît aide – Jegan