| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: VBA Befehl von Symbolleiste aufrufen nach Selektion (203 mal gelesen)
|
hjschub Mitglied Ingenieur
Beiträge: 9 Registriert: 01.04.2006 Autocad 2004
|
erstellt am: 01. Apr. 2006 12:19 <-- editieren / zitieren --> Unities abgeben:
erstellt am: 01. Apr. 2006 10:31 Unities abgeben: -------------------------------------------------------------------------------- Hallo Autocad-Freunde Vielleicht kann mir jemand meine Bauchschmerzen nehmen. Von einem Symbol-Knopf aus soll das Makro "LayerAusschalten" aufgerufen werden. Mit dem Aufruf-Befehl "-Vbaausf LayerAusschalten" wird zwar die Routine aufgerufen. Die notwendige Selektion wird jedoch vorher gelöscht. Die Selektion ist jedoch zur Steuerung der ausszuschaltenden Layer notwendig. Anmererkung: Aufruf vom Befehlsknopf einer Userform funktioniert. Besten Dank für Eure Hilfe. Gruß hjschub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 01. Apr. 2006 13:44 <-- editieren / zitieren --> Unities abgeben: Nur für hjschub
ohne das VBA-Teil zu kennen ( woher auch, da du keinen Verweis auf die Quelle oder das Macro selbst gepostet hast )..integriere doch die Selektionserstellung gleich ins VBA-Makro .. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hjschub Mitglied Ingenieur
Beiträge: 9 Registriert: 01.04.2006 Autocad 2004
|
erstellt am: 01. Apr. 2006 14:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, besten Dank für die Hinweise. Das Problem ist unabhängig von der VBA-Sequenz. Die Selektion soll vorher von Hand eingegeben werden. Grundsätzlich löscht der Aufruf einer VBA-Sequenz von einem CommandButton aus die Selektion. Damit ist auch das Programm nicht mehr in der Lage, die Selektion zu rekonstruieren. Ich hoffe, dass ich das Problem jetzt etwas deutlicher formuliert habe. Möglicherweise liegt es an einer Einstellung oder der Art des VBA-Aufrufes. Gern lese ich von Dir. Gruß hjschub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 01. Apr. 2006 18:05 <-- editieren / zitieren --> Unities abgeben: Nur für hjschub
Vielleicht kann man das VBA Makro ja mit einem Buttenmakro dazu bewegen, den impliziten Auswahlsatz zu übernehmen. In Lisp oder im Buttonmakro dafür einfach (ssget "_I") benutzen. Hab gerade kein geeignetes VBA-Makro zur Hand, und es damit zu testen. ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hjschub Mitglied Ingenieur
Beiträge: 9 Registriert: 01.04.2006 Autocad 2004
|
erstellt am: 01. Apr. 2006 21:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo, vielen Dank für Deinen Tipp mitdem Buttonmakro. Leider kenne ich bisher keine Buttonmakros. Ich würde mich sehr freuen, wenn Du mir einen Tipp über Literaturstellen dafür geben könntest. Gruß hjschub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 18. Apr. 2006 19:08 <-- editieren / zitieren --> Unities abgeben: Nur für hjschub
Hallo hjschub, Du kannst ein Button im Werkzeugkasten mit folgendem Code erstellen: (vla-runmacro(vlax-get-acad-object) "test123"); Dieser Ruft das Makro Test123 auf. Die ausgewählten Elemente findest du dann unter me.pickfirstselectionset. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |