| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Eval Funktion für Inventor VBA? (1384 mal gelesen)
|
Enduro Mitglied Wirtschaftsinformatik Studentin
Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 04. Okt. 2012 11:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, gibt es eine Eval Funktion auch für VBA in Inventor? Etwas vergleichbares vlt.? Ich glaub ich such die ganze Zeit nach falschen Schlagwörtern... Meine Aufgabe: Suche im (aktuellen) Stamm-Pfad nach zu durchsuchende Verzeichnisse und führe zwei Makros in jeweiligen .idw Dateien aus. Alles soweit fertig außer Eval Funktionsaufruf. Vielen Dank schon Mal ------------------ ---------------- Viele Grüße Endu Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 04. Okt. 2012 16:07 <-- editieren / zitieren --> Unities abgeben: Nur für Enduro
Hallo Sorry, aber ich hab die Frage noch nicht verstanden. Was genau willst du mit Eval machen? Rekursiv Verzeichnisse nach IDW's durchsuchen oder ...? Wie würde denn deine Zeile mit Eval aussehen? Vielleicht seh ich dann klarer. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enduro Mitglied Wirtschaftsinformatik Studentin
Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 04. Okt. 2012 16:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf, Danke für die Rückmeldung, ja genau rekursiv Verzeichnisse aufrufen unter Bedingungen. So siehts dann ungefähr aus: (zum mindest Access)
Code:
Private Sub EvalFile(ByVal startFolder As String, searchFile As String, evalSub As String) Dim tFld As Object Dim tFil As Object Dim FileName As String On Error GoTo Catch Set fld = fso.GetFolder(startFolder) ' Suche im (aktuellen) Stamm-Pfad nach zu durchsuchende Verzeichnisse FileName = Dir(fso.BuildPath(fld.path, searchFile), vbNormal Or vbHidden Or vbSystem Or vbReadOnly) While Len(FileName) <> 0 Eval (evalSub + "('" + fld.path + "','" + FileName + "')") FileName = Dir() Eval ("BlockDefinitionAendern_()") DoEvents Wend ' Suche in SubFoldern von Stamm-Pfad If fld.SubFolders.Count > 0 Then For Each tFld In fld.SubFolders DoEvents ' rekursiver Aufruf, Subfolder wird akt. Such-Pfad EvalFile tFld.path, searchFile, evalSub Next End If Exit Sub Catch: FileName = "" Resume Next End Sub
------------------ ---------------- Viele Grüße Endu [Diese Nachricht wurde von Enduro am 04. Okt. 2012 editiert.] [Diese Nachricht wurde von Enduro am 04. Okt. 2012 editiert.] [Diese Nachricht wurde von Enduro am 05. Okt. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 05. Okt. 2012 08:41 <-- editieren / zitieren --> Unities abgeben: Nur für Enduro
Moin Das heißt, du willst eigentlich nur eine andere Sub aufrufen. Dazu braucht es kein Eval. Die Sub wird einfach mit ihrem Namen und Call aufgerufen. Rückgabewerte gibt es dabei nicht.
Code: Call BlockDefinitionAendern_
Es wäre vielleicht geschickter, statt einer Sub eine Funktion zu verwenden, der du gleich den Dateipfad mitgeben kannst und die einen Rückgabestatus liefert.Das andere Eval macht in meinen Augen keinen Sinn. Warum prüfst du dort den Dateipfad? Traust du der Dir-Funktion nicht? ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enduro Mitglied Wirtschaftsinformatik Studentin
Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 08. Okt. 2012 08:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf, Danke für die Hilfe. Ich bin aber immer noch am überlegen, wie soll ich den Pfad so mitgeben dass der alle dateien durchläuft und nach .idw sucht? ich kann immer nur einen Pfad mitgeben mit File Name und den macht er mir auf und bearbeitet sie auch, nur will ich dass der Skript das gleiche auch mit den anderen Zeichnungen macht. Klappt grad nicht.. ------------------ ---------------- Viele Grüße Endu Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enduro Mitglied Wirtschaftsinformatik Studentin
Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 08. Okt. 2012 10:08 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 08. Okt. 2012 19:08 <-- editieren / zitieren --> Unities abgeben: Nur für Enduro
Hi Schau dir mal z.B. den Link hieran. DEr liefert dir ein Array aller IDW's in einem Verzeichnis samt Unterverzeichnissen. Mit der Liste kannste weiterarbeiten. Alte und neue Ordnerstruktur spielen dabei meines Erachtens keine Rolle, da nur das Startverzeichnis angegeben wird. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enduro Mitglied Wirtschaftsinformatik Studentin
Beiträge: 53 Registriert: 27.07.2012 Hallo Forum :-) Win 7 Office 2007 Autodesk® Inventor® 2012
|
erstellt am: 10. Okt. 2012 07:48 <-- editieren / zitieren --> Unities abgeben:
|