Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Manipuler Ruban en VBA dans AutoCAD

5 RÉPONSES 5
Répondre
Message 1 sur 6
Anonymous
488 Visites, 5 Réponses

Manipuler Ruban en VBA dans AutoCAD

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é.

5 RÉPONSES 5
Message 2 sur 6
_gile
en réponse à: Anonymous

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.



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 3 sur 6
Anonymous
en réponse à: _gile

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.

Message 4 sur 6
patrick_35
en réponse à: Anonymous

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...

@+

Message 5 sur 6
Anonymous
en réponse à: patrick_35

Merci,

je vais regarder, peut être que je trouverais une solution qui me convienne.

Message 6 sur 6
patrick.emin
en réponse à: Anonymous

Bonjour @Anonymous , merci de partager une solution ici si vous en trouvez une.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report