| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: VBA Makros in der Befehlszeile wiederholen (2974 mal gelesen)
|
Huebi Mitglied Vermessungsing.
 
 Beiträge: 107 Registriert: 08.01.2004 Intel Core Duo E6750@2.66GHz NVIDIA GeForce 8600 GT AutoCAD 2004, 2007, 2008 AcadMAP 2004 und 2007 Civil 3D 2008 ADT 2009
|
erstellt am: 20. Jan. 2004 10:48 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe mir einige hilfreiche Makros gebastelt und mir eine Werkzeugleiste dafür angelegt, von der aus ich die Makros prima starten kann. Es kommt aber sehr oft vor, daß man genau das Makro, das man zuletzt benutzt hat gleich nochmal anwenden möchte. Bei den üblichen ACAD-Befehlen erreicht man das durch drücken der [Enter]- (bzw. Leer-) Taste. Makros lassen sich jedoch nur mit "-vbarun" (bzw. "vbaausf") starten, wobei der eigentliche Makroname nach einem [Enter] (bzw. Leerzeichen oder ";") folgt. Möchte man den letzten Befehl also wiederholen (mit [Enter]), erreicht man nur, daß der AutoCAD-Befehl "-vbarun" wiederholt wird, nicht jedoch das Makro. Man wird aufgefordert, den Makronamen einzutippen. Ein Einbinden des Makros in die acad.pgp Datei (Kurzbefehle - Aliasnamen) führt auch nicht zum gewünschten Erfolg. Weiß von Euch eventuell jemand eine Möglichkeit, Makros anders in AutoCAD einzubinden, so daß sie wie "echte" Acad-Befehle behandelt werden? Für Tips wäre ich Euch sehr dankbar :-) Servus - Hübi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giami Mitglied

 Beiträge: 18 Registriert: 29.10.2003
|
erstellt am: 20. Jan. 2004 14:05 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
|
harryk Mitglied Projektleiter
 
 Beiträge: 124 Registriert: 19.08.2003 Revit 2019, ACMep2019, F360
|
erstellt am: 20. Jan. 2004 17:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
dafür verwende ich immer eine Lisp Routine die meine Befehle aufrufen: (defun C:VBAMakro() (command "vbarun....") (princ)) ist die lisp Datei geladen verhält sich der Befehl wie ein Autocad Befehl, einschliesslich der Wiederholung. Gruss, Harry [Diese Nachricht wurde von harryk am 20. Jan. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Huebi Mitglied Vermessungsing.
 
 Beiträge: 107 Registriert: 08.01.2004 Intel Core Duo E6750@2.66GHz NVIDIA GeForce 8600 GT AutoCAD 2004, 2007, 2008 AcadMAP 2004 und 2007 Civil 3D 2008 ADT 2009
|
erstellt am: 21. Jan. 2004 07:53 <-- editieren / zitieren --> Unities abgeben:         
|
RoSiNiNo Mitglied Konstrukteur
   
 Beiträge: 1126 Registriert: 09.10.2002 Acad 2011-deutsch, Express Tools 3ds Max 2010 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 21. Jan. 2004 08:08 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
Versuch es auch einmal damit. (defun c:CoLayCur (/) (vla-runmacro(vlax-get-acad-object) "acad.dvb!modify.CopyLayerCurrent")) Wenn du keine Objekte vorwählen möchtest oder eine Dialogbox verwendest in der du Punkte abfrägst, dann rufe deine Funktion so auf (defun c:CoLayCur (/) (vl-vbarun "acad.dvb!modify.CopyLayerCurrent")) Wenn du oben angeführten code verwendest kannst du auch die Buttons Zoom und Pan verwenden ohne das der Befehl abgebrochen wird.
------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gigerota Mitglied
  
 Beiträge: 561 Registriert: 17.01.2006
|
erstellt am: 25. Jan. 2007 12:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
Hallo Leute! Ich hab einen "alten" Forumbeitrag nochmal hervorgeholt, da bei uns die Vorschläge, welche hier unterbreitet wurden, nicht richtig helfen. Kann mir da nochmal jemand was zu sagen? Gruß Petra Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
erstellt am: 25. Jan. 2007 12:44 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
|
Gigerota Mitglied
  
 Beiträge: 561 Registriert: 17.01.2006
|
erstellt am: 25. Jan. 2007 13:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
Hi Carsten! Wir haben das * vor den Makroaufruf gepackt - Fehlanzeige. Es hat sich zwar was geändert, aber nicht korrekt. Es gab da einen Tip mit einer lisp-Routine von Harryk. Wir können aber leider überhaupt kein lisp, deshalb wissen wir nicht recht, was der Tip bedeutet. Muss dieser Code in den Werkzeugkasten anstelle des bisherigen Befehlsaufrufs? Oder schreib ich eine extra lisproutine, welche bei jedem Autocad-Start generell geladen wird und die hat Einfluß auf den eigentlichen Programmaufruf? Sorry  für meine Unwissenheit! hier mal ein Beispiel-Aufruf aus einem Werkzeugkasten: ^C^C^P-vbarun "C:/acad_macro_test/Programme/Profile.dvb!CProfil_start.CFormular_show" LG Petra Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
erstellt am: 25. Jan. 2007 13:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
Hallo Petra, Legt euch eine Lispdatei an, worin ihr alle Befehle (Befehlsname für Makros) definiert: (Defun c:test (/) (VL-VBARun "Stempel")) Im Beispiel rufte der Befehl das Makro / die Funktion "Stempel" auf. Diese Lisp packt ihr dann unter Appload in die Startgruppe (Wo auch die DVBs zum Starten eingetragen werden sollten) und schon sollte es klappen. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gigerota Mitglied
  
 Beiträge: 561 Registriert: 17.01.2006
|
erstellt am: 25. Jan. 2007 13:55 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
Hallo Carsten, es hat leider nicht funktioniert. Mein Kollege hat eine test.lsp geladen, wo folgendes drinsteht: (Defun c:test (/) (VL-VBARun "C:/acad_macro_test/Programme/Profile.dvb!CProfil_start.CFormular_show")) Danach das Programm mit Werkzeugkasten gestartet. Alles beim alten..... [Diese Nachricht wurde von Gigerota am 25. Jan. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 26. Jan. 2007 11:05 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
Hallo, trage doch in die Lisp Datei folgendes ein
Code: defun c:BlockInfo (/) (vla-runmacro(vlax-get-acad-object) "ZeigeBlockInfo"))
ZeigeBlockinfo ist eine Sub in einem Usermodul.
Code:
Sub ZeigeBlockinfo FormBlockInfo.Show end sub
Die ruft das Formular auf. Sieh auf mal hier oder hierStelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gigerota Mitglied
  
 Beiträge: 561 Registriert: 17.01.2006
|
erstellt am: 26. Jan. 2007 13:01 <-- editieren / zitieren --> Unities abgeben:          Nur für Huebi
|