Bonjour
Je charge au démarrage d'AutoCad, un fichier "RubanPerso.CUIX", ce RubanPerso possède un onglet nommé "Onglet".
Cette onglet possède plusieurs groupe de bouton, "Groupe1", "Groupe2", etc..
Donc dans l'onglet appelé "Onglet", il y a le Groupe1, qui lui a une Bouton1, qui exécute une macro1.
(Je sais, je ne me suis pas foulé pour les noms...)
Tout cela fonctionne très bien.
Ce que je cherche à faire maintenant, c'est de pouvoir grisé ou coloré le bouton1 de la macro par programme (VBA).
Donc dans l'event d'activation du document je regarde d'ou provient le dessin qui est ouvert. (ça je sais faire...)
Si le dessin provient d'un répertoire que j'ai défini comme approuvé, je voudrai redéfinir l’icône de la macro1 en couleur, et si non, la version grise de l’icône.
If Split(ThisDrawing.Path), "\")(Ubound(Split(ThisDrawing.Path))-1) = "Approuver" Then 'Que mettre pour que le Bouton1 du Groupe1 dans l'Onglet 'est un icône en couleur (IconeCouleur1.bmp 16x16) ? else 'idem en grisé (IconeGriser1.bmp 16x16) ? end if
Mon problème est que j'ai beau cherché, je ne trouve pas de code d'exemple pour accéder directement au code xml du ruban sous AutoCad, ni à un objet VBA que je pourrai manipuler.
Je trouve plein de truc pour les programmes Microsoft, mais je n'arrive pas à trouver comment faire sous AutoCad.
Et pour ceux qui ont l'habitude de donné des solutions en dehors de la question,
Je reprécise que je cherche à manipulé le ruban par VBA et rien d'autre.
NE PAS me proposé de faire une barre d'outil, cela je sais faire et ce n'est pas ce que je cherche à faire.
NE PAS me donné de solution de création ou de modification de ruban avec l'interface de personnalisation d'AutoCad, je cherche à le faire par code.
NE PAS me donné de solution pour un produit Microsoft, je commence à connaitre à force de chercher, et ce n'est pas applicable à AutoCad malheureusement.
Et surtout si vous ne connaissez pas la réponse, le mieux est de passé votre chemin, plutôt que de polluer un poste qui pourrais rendre service à beaucoup de personnes, si solution est trouvé.
Salut,
À ma connaissance il n'y a rien dans l'API COM/ActiveX d'AutoCAD qui permette d'accéder au ruban.
Ceci n'est pas très étonnant puisque le ruban est arrivé avec la version 2009, au moment même où il était question d'abandonner le VBA et où Autodesk comme Microsoft conseillaient de passer au .NET.
Merci pour l'info, en tout les cas, je comprend pourquoi je ne trouvais rien,
cela ne m'arrange guère, je n'ai plus qu'a chercher le moyen de le faire via le .net...
Je laisse le poste en non résolu pour le moment des fois qu'il y ai quelqu'un qui aurai une astuce...
Bonne journée.
Salut
Je me suis rappelé que l'on pouvait activer/désactiver des fonctions sur les menus déroulants avec menucmd et les expressions diesel. Je ne sais pas si c'est faisable en vba.
J'ai fait une recherche et j'ai trouvé ceci.
https://knowledge.autodesk.com/fr/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2019/FRA...
@+
Merci,
je vais regarder, peut être que je trouverais une solution qui me convienne.
Bonjour @Anonymous , merci de partager une solution ici si vous en trouvez une.
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.