Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  VBA Makros in der Befehlszeile wiederholen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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.


Sehen Sie sich das Profil von Huebi an!   Senden Sie eine Private Message an Huebi  Schreiben Sie einen Gästebucheintrag für Huebi

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von giami an!   Senden Sie eine Private Message an giami  Schreiben Sie einen Gästebucheintrag für giami

Beiträge: 18
Registriert: 29.10.2003

erstellt am: 20. Jan. 2004 14:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

Hallo Hübi,
mit einem * vor dem Befehlsaufruf im Werkzeugskasten sollte es gehen!
Gruss Patrick

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

harryk
Mitglied
Projektleiter


Sehen Sie sich das Profil von harryk an!   Senden Sie eine Private Message an harryk  Schreiben Sie einen Gästebucheintrag für harryk

Beiträge: 124
Registriert: 19.08.2003

Revit 2019, ACMep2019, F360

erstellt am: 20. Jan. 2004 17:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

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.


Sehen Sie sich das Profil von Huebi an!   Senden Sie eine Private Message an Huebi  Schreiben Sie einen Gästebucheintrag für Huebi

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank,

eigentlich hätt ich von selber draufkommen können,
vielen Dank harryk!!!!

Hier werden Sie geholfen :-)))

Gruß - Hübi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RoSiNiNo
Mitglied
Konstrukteur


Sehen Sie sich das Profil von RoSiNiNo an!   Senden Sie eine Private Message an RoSiNiNo  Schreiben Sie einen Gästebucheintrag für RoSiNiNo

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Gigerota an!   Senden Sie eine Private Message an Gigerota  Schreiben Sie einen Gästebucheintrag für Gigerota

Beiträge: 561
Registriert: 17.01.2006

erstellt am: 25. Jan. 2007 12:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

Hi Petra,

Wo hakt es denn bei euch noch?


Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gigerota
Mitglied



Sehen Sie sich das Profil von Gigerota an!   Senden Sie eine Private Message an Gigerota  Schreiben Sie einen Gästebucheintrag für Gigerota

Beiträge: 561
Registriert: 17.01.2006

erstellt am: 25. Jan. 2007 13:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Gigerota an!   Senden Sie eine Private Message an Gigerota  Schreiben Sie einen Gästebucheintrag für Gigerota

Beiträge: 561
Registriert: 17.01.2006

erstellt am: 25. Jan. 2007 13:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

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.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

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 hier

Stelli

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



Sehen Sie sich das Profil von Gigerota an!   Senden Sie eine Private Message an Gigerota  Schreiben Sie einen Gästebucheintrag für Gigerota

Beiträge: 561
Registriert: 17.01.2006

erstellt am: 26. Jan. 2007 13:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Huebi 10 Unities + Antwort hilfreich

Vielen Dank,

ich werds weitergeben!
Die links waren prima!

Petra

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz