Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  VBA-Makro mit Lisp nur einmal laden

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
Autor Thema:  VBA-Makro mit Lisp nur einmal laden (766 mal gelesen)
WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

AutoCAD 2021
Windows 10 64-bit

erstellt am: 22. Jan. 2003 17:19    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

Ein Hilfeaufruf an alle Lisp-Experten!
Ich habe für AutoCAD 2002 ein VBA-Makro erstellt und lade dieses mit der Datei acad.lsp wie folgt:

(defun S::STARTUP()
(command "vbaload" "Makro")
)

Das funktioniert auch einwandfrei. Jedoch bekomme ich beim Laden jeder weiteren Zeichnung die AutoCAD-Fehlermeldung: Datei bereits geladen: C:\...\Makro.dvb.

Da ich dies gerne vermeiden möchte hier nun meine Frage. Kann man in der Datei acad.lsp abfragen, ob das Makro schon geladen worden ist? Wenn nein sollte es geladen werden, wenn ja nicht mehr, damit die Fehlermeldung zukünftig unterbleibt.
Für Eure Hilfe wäre ich sehr dankbar.
Gruß
Wolfgang

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

pan
Mitglied



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

Beiträge: 141
Registriert: 18.01.2003

HP Z200
Win 7 prof
ADT 2012

erstellt am: 22. Jan. 2003 17:36    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 WolfgangSCH 10 Unities + Antwort hilfreich

Hallo,
nehme doch die acad.dvb aus dem Verzeichnis Sample/vba, Schreibe da deinen Ladebefehl rein. Schalte vorher die beiben vorh. Befehle ab.
Verschiebe dann die acad.dvb ins Support-Verzeichnis. Die Datei wird beim Acad-Start ausgeführt.
Gruß Pan

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

wklemens
Mitglied
Systemingenieur


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

Beiträge: 383
Registriert: 02.09.2002

erstellt am: 22. Jan. 2003 18: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 WolfgangSCH 10 Unities + Antwort hilfreich

(defun c:MyMacro ( / fname $cmdecho)
(setq $cmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(if (setq fname(findfile "MACRO.DVB"))
(command "-VBARUN" (strcat fname "!MODUL_NAME.SUB_NAME"))
);end if
(setvar "cmdecho" $cmdecho)
(princ "\nMCDS Datensystem GmbH - Ihr CAD-Lösungsanbieter!\n")
(princ)
)

Im Beispiel giebt es eine Datei MACRO.DVB mit einem Modul MODULE_NAME, in dieser die Sub ;SUB_NAME definiert ist

Dieser Code in der Datei ACAD.LSP oder ACAD2000DOC.LSP stellt sicher, daß der Befehl MYMACRO die VBA-Datei nur einmal ladet. Die Datei ACAD.DVB würde ich nicht verwenden. Es können ja mehrere Macros geladen werden und jedesmal die ACAD.DVB anpassen wäre fast nicht möglich -> Fehlerquelle.

------------------
Grüße aus Linz

Willi Klemens
MCDS Datensystem GmbH
www.mcds.net

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 23. Jan. 2003 08:31    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 WolfgangSCH 10 Unities + Antwort hilfreich

Hi,
um solche und andere Probleme beim laden/starten von VBA-Makros zu vermeiden, benutze ich folgende Lisp-Befehle:
vl-vbaload
und
vl-vbarun

Keine Ladefehler, keine Virenwarnung, kein Aufwand... Allerbest.

Einfach mal in der VLisp-Hilfe nachschlagen.

------------------
Ciao,
Marc

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

WolfgangSCH
Mitglied



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

Beiträge: 145
Registriert: 01.10.2002

AutoCAD 2021
Windows 10 64-bit

erstellt am: 23. Jan. 2003 19:49    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 für die Hilfe. Konnte mit Euren Anregung das Problem lösen.

Gruß
Wolfgang

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)2023 CAD.de | Impressum | Datenschutz