Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  VBA 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 Laden (816 mal gelesen)
Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 24. Jun. 2002 12:42    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


VBA-Laden.jpg

 
Hallo Zusammen,

ich möchte in der acad.lsp ein VBA-Programm laden lassen.
Die Angabe des zu ladenden VBAs muß wohl auch das entsprechende Modul stehen, ich habe mir folgendes für die acad.lsp zusammengeschustert, haut aber nicht ganz hin => Fehlermeldung in der ACAD-Befehlzeile "Ungültiger Dateiname"

(command "_-vbaload" "P:/Autodesk/Lisp-VBA-acad2002/Plotsicherung/plot.dvb!Tools.findeBlock_V3")

wenn ich das Tools.findeBlock_V3 weglasse wird das vba zwar geladen, aber das Modul findeBlock_V3 steht nicht wie gewünscht beim Plot-Event zur Verfügung.

Wo ist der Fehler?
Danke und Gruß Wolfgang

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

@LANTHIS
Mitglied
Bauingeniuer

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

Beiträge: 4
Registriert: 19.03.2002

erstellt am: 24. Jun. 2002 12:51    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 Wolli 10 Unities + Antwort hilfreich

Hi,

aus der Function muß eine Sub werden, damit ein Aufruf möglich wird.
Da Funktionen Rückgabewerte enthalten können, ist ein direkter Aufruf über VBARUN nicht vorgesehen.

Karsten

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

Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 24. Jun. 2002 13: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


VBA-Laden_2.jpg

 
Danke Karsten für Deine schnelle Antwort,

ich habe funktion mit sub ersetzt, die Fehlermeldung bleibt "Ungültiger Dateiname"

Ich vermute am VBA muß ich garnichts ändern, da es vor einiger Zeit noch in ACAD2000 schon funktioniert hatte, der Fehler ist evtl. nur im Eintrag in der acad.lsp

Gruß Wolfgang

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

@LANTHIS
Mitglied
Bauingeniuer

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

Beiträge: 4
Registriert: 19.03.2002

erstellt am: 24. Jun. 2002 13:15    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 Wolli 10 Unities + Antwort hilfreich

Also mal im Detail besprochen.

(command "_-vbaload" "P:/Autodesk/Lisp-VBA-acad2002/Plotsicherung/plot.dvb")

Dieser Befehl lädt das Modul Plot.dvb.

Der zweite Teil ist der Aufruf der Funktion

Tools.findeBlock_V3 mittels

(command "_-vbarun" "Tools.FindeBlock_V3")

Liege ich da richtig?

Karsten

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

Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 24. Jun. 2002 13:28    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

Danke Karsten,

ich hatte mich vermutlich nicht ganz richtig ausgedrückt,

ich habs gerade ausprobiert, jetzt wird mit vbarun die funktion sofort gestartet wenn acad gestartet wird, das will ich aber nicht, das Programm soll nur geladen und nicht ausgeführt werden.
Die Funktion wird dann beim Plot-Event automatisch gestartet und überprüft Zeichnungsnummer im Schriftfeld mit dem Dateinamen.
Das hat auch im VBA-Editor funktioniert, nur schaffe ich es nicht das VBA bzw. die Funktion darin beim ACAD-Start automatisch über die acad.lsp zu laden.
Wie läd man eine funktion eines VBAs in der acad.lsp?

Danke und Gruß Wolfgang

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

UJJ
Mitglied
 


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

Beiträge: 190
Registriert: 05.03.2002

erstellt am: 24. Jun. 2002 13:32    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 Wolli 10 Unities + Antwort hilfreich

Ja, der erste Ausdruck lädt die VBA-Datei und der zweite führt eine Routine (Sub) daraus aus.
Man kann es auch zusammenfassen:
(command "_-vbarun" "P:/Autodesk/Lisp-VBA-acad2002/Plotsicherung/plot.dvb!Tools.findeBlock_V3")
Jetzt wird die VBA-Datei erst geladen und dann die Routine ausgeführt.

Uwe

Ups, war etwas zu langsam.

Hast du einen Event programmiert, kannst du das ganze wie oben beschrieben machen. Du rufst mit vbarun allerdings nicht die Sub-Routine auf, die die Änderungen vornimmt, sondern eine Routine die die Events initialisiert und die ruft dann beim Plotevent deine Sub-Routine auf.

[Diese Nachricht wurde von UJJ am 24. Juni 2002 editiert.]

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

Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 24. Jun. 2002 13: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 Uwe,

ich stelle mich vermutlich zu dämlich an, aber das vba mit der Funktion, sub oder wie auch immer soll nur geladen vbaload nicht gestartet vbarun werden.
in meinem ersten Beitrag ist woh nur ein kleiner Fehler Komma Klammer Ausrufezeichen oder sowas in der art. was ist falsch?
(command "_-vbaload" "P:/Autodesk/Lisp-VBA-acad2002/Plotsicherung/plot.dvb!Tools.findeBlock_V3")

Danke und Gruß Wolfgang

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

UJJ
Mitglied
 


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

Beiträge: 190
Registriert: 05.03.2002

erstellt am: 24. Jun. 2002 14:22    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 Wolli 10 Unities + Antwort hilfreich

Hallo,
versuch es doch mal mit
(command "_-vbaload" "P:/Autodesk/Lisp-VBA-acad2002/Plotsicherung/plot.dvb!Tools.modul1.findeBlock_V3")

Uwe

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

Wolli
Mitglied
Konstrukteur


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

Beiträge: 704
Registriert: 28.02.2001

Win7 64Bit+32Bit VM-Ware
I7 12GB
ACAD Mech 2010
Inventor Pro 2010 + 2012
Ansys 13 NLS

erstellt am: 24. Jun. 2002 14: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 Uwe,

vielen Dank, aber das funktioniert leider auch nicht.
Ich geb's erstmal auf.

Gruß Wolfgang

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

Harry K
Mitglied
Bau-Ingenieur


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

Beiträge: 42
Registriert: 05.11.2001

erstellt am: 26. Jun. 2002 13:46    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 Wolli 10 Unities + Antwort hilfreich


Bild1.jpg

 
Hallo Wolli,

vielleicht noch ein Versuch...
Es kommt darauf an, auf welche Art Du deine Ereignis-Routine anspricht (Anwendungsebene, Dokumentebene, Objektebene).

Am einfachsten wäre hier wohl die Anwendungsebene.
Füge einfach eine sub wie im beigefügten Bild ein.
Sie muß unter Objekte-Thisdrawing stehen!

Diese wird dann auch tatsächlich ausgelöst, z.B. beim Plotereignis.
Diese Ereignisprozedur ruft dann deine eigene Sub 'Findeblock_v3' aus.

Viel Erfolg

Harry

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