Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Laufzeitfehler 91

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:  Laufzeitfehler 91 (1529 mal gelesen)
Kon
Mitglied
Student


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

Beiträge: 39
Registriert: 16.03.2004

erstellt am: 03. Mrz. 2008 16:30    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,

in meinem Makro habe ich ein Problem wenn ich es mittels AutoOpen auführen will.
Solange ich das Makro bei geöffnetem Bauteil von Hand starte funktioniert es. Starte ich es per AutoOpen bekomme ich eine "Laufzeitfehler 91" Fehlermeldung.

Anbei mal der der Minimalcode. Die Fehlermeldung tritt immer in der Zeile
"Set oParams = ThisApplication.ActiveDocument.ComponentDefinition.Parameters" auf

###

Sub AutoOpen()

Dim oPartDoc As Inventor.PartDocument
Set oPartDoc = ThisApplication.ActiveDocument

Dim oParams As Parameters
Set oParams = oPartDoc.ComponentDefinition.Parameters

...

End Sub

###

Kann mir jemand sagen was an der Vorgehensweise falsch ist und warum es im manuellen Modus funktioniert und im AutoOpen-modus nicht.

Gruß
kon

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 03. Mrz. 2008 17: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 Nur für Kon 10 Unities + Antwort hilfreich

Und wie lautet die Fehlermeldung?

------------------
Grüße Igor

FX64 Software Solutions

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

Kon
Mitglied
Student


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

Beiträge: 39
Registriert: 16.03.2004

erstellt am: 04. Mrz. 2008 08:56    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


laufzeitfehler.png

 
Hi Igor,

Im Bild ist die Fehlermeldung zu sehen.

Gruß
Kon

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 04. Mrz. 2008 09:43    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 Kon 10 Unities + Antwort hilfreich

Autsch, die Fehlermeldung stand schon in dem Beitragstitel 

Also, so wie es aussieht, wird AutoOpen Makro ausgeführt noch bevor ThisApplication.ActiveDocument den Wert hat. Abgesehen davon würde ich dir von AutoMakros abraten. Programmier lieber ein AddIn. Da kannst du dann schon bestimmen wann deine Funktion durchlaufen soll (zuvor oder danach).


------------------
Grüße Igor

FX64 Software Solutions

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 04. Mrz. 2008 10:03    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 Kon 10 Unities + Antwort hilfreich

Hallo Kon,

Ich vermute, dass es rein an Deinem Makronamen (AutoOpen) liegt. Lies mal in der API-Hilfe:

For example, the following macro names will be considered auto-open macros: AutoOpen1, AutoOpen2, NewAutoOpen, autoopen3, or TestAutoOpen4. From these examples you can see that additional characters can precede or be appended to the auto macro name. In addition, it is not case-sensitive. Because of this flexibility you can create multiple automatic macros for a single event. If there are multiple macros for an event, their order of execution is arbitrary.


Das heisst, der Name muss AutoOpen beinhalten, dass das Makro beim öffnen ausgeführt wird.

Weiter verweise ich auf Igor's Antwort: sei bloss vorsichtig mit AutoMakros, die können - abgesehen von der Einschränkung über die Kontrolle der Ablaufreihenfolge - einige ganz üble Nebeneffekte haben, so z.B. bei der Migration. Bei der Migration werden die Dokumente geöffnet, aktualisiert und gespeichert - fragt sich, ob dann die Auführung der Makos auch gewünscht ist, denn AutoMakros können nur in Dokument-VBA-Projekten sein.

VBA hat auch Speicherks und ich denke, da können Dir einige Leute ein Lied singen von den daraus entstandenen Problemem bei der Migration (out of Memory Error mit anschliessender Verabschiedung von Inventor in's Daten-Nirvana)...

Such mal hier im Foum nach AutoMakros und Du wirst einige Beiträge von Igor und mir zu diesem Thema finden - arbeite im Default-VBA Projekt mit den Events. Vor einer Migration kannst Du das Default-VBA Projekt gegen ein leeres VBA-Projekt austauschen und dann ist Ruhe.

HTH

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

Meine Tochter auf Youtube

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

Kon
Mitglied
Student


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

Beiträge: 39
Registriert: 16.03.2004

ProE-Wildfire 4 [M130]

erstellt am: 04. Mrz. 2008 10: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

Ok, vielen Dank für eure Hinweise.

Ich werd vielleicht noch einaml kurz erläutern was ich eigentlich vor habe, dann wird sicher auch klar warum ich die AutoOpen-Funktion benutzt habe.

Ich habe ein Bauteil mit dem bestimmte Funktionen ausgeführt werden sollen. Diese Funktionen habe ich im Makrocode hinterlegt. Ich habe nun einen Weg gesucht, um die Abarbeitung des Makros aus der Windows-Kommandozeile starten zu können. Daher habe ich die AutoOpen-Funktion verwendet und in der Kommandozeile Inventor gestartet und als Argument den Bauteilnamen angegeben. Beim Öffnen des Bauteils startet nun automatisch die Abarbeitung des Makros.

Vielleicht gibt es auch andere Wege dies zu realisieren.

- Gibt es einen Möglichkeit ein Makro automatisch beim Start von Inventor auszuführen?
- Kann man beim Start von Inventor aus der Kommandozeile das auszuführende Makro direkt angeben?

Gruß
Kon

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 04. Mrz. 2008 10:33    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 Kon 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Kon:
Ich habe ein Bauteil mit dem bestimmte Funktionen ausgeführt werden sollen. Diese Funktionen habe ich im Makrocode hinterlegt. Ich habe nun einen Weg gesucht, um die Abarbeitung des Makros aus der Windows-Kommandozeile starten zu können. Daher habe ich die AutoOpen-Funktion verwendet und in der Kommandozeile Inventor gestartet und als Argument den Bauteilnamen angegeben. Beim Öffnen des Bauteils startet nun automatisch die Abarbeitung des Makros.

Vielleicht gibt es auch andere Wege dies zu realisieren.


Oh ja, es wäre ja schlimm wenn das der einzige Weg wäre. Wie gesagt, lese mal in der Hilfe was ein AddIn ist. Das ist nämlich die Antwort auf beide deiner Fragen.

------------------
Grüße Igor

FX64 Software Solutions

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

Kon
Mitglied
Student


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

Beiträge: 39
Registriert: 16.03.2004

erstellt am: 04. Mrz. 2008 13:04    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

Ok, das werd ich mir mal ansehen.

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