| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Externes Programm mit relativem Pfad starten (1206 mal gelesen)
|
Ex-Mitglied

|
erstellt am: 14. Feb. 2006 17:37 <-- editieren / zitieren -->
Hallo zusammen, bei der Programmierung für ein Partserver-System bin ich auf das Problem gestoßen, ein externes Programm mit einem Makro starten zu müssen, dessen Lage im Verzeichnisbaum ich nur relativ kenne. Gibt es eine Möglichkeit, den Pfad zu dem Programm in VBA relativ zu dem Verzeichnis anzugeben, in dem das Makro liegt? Viele Grüße, CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 14. Feb. 2006 17:47 <-- editieren / zitieren --> Unities abgeben:         
Mit '..\' gehst in das übergeordnete Verzeichnis. Mit '..\..\' gehst zwei Verzeichnisse weiter hoch. usw. Grüssle TP ------------------ "Soll es funktionieren oder darf es auch etwas von Siemens sein?" ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 14. Feb. 2006 20:12 <-- editieren / zitieren -->
Hallo Bloody Mess, dann müßte ".\" doch das aktuelle Verzeichnis sein - das funktioniert aber leider nicht. Oder läuft es bei Windows in der Beziehung anders als bei den Unices? Viele Grüße, CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 15. Feb. 2006 09:15 <-- editieren / zitieren --> Unities abgeben:         
Eine Datei im aktuellen Verzeichnis kannst ohne irgendwelche Zusätze aufrufen. [Edit] ... weil falsch ... [/Edit] ------------------ "Soll es funktionieren oder darf es auch etwas von Siemens sein?" ... [Diese Nachricht wurde von BloodyMess am 15. Feb. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bst Mitglied
 
 Beiträge: 192 Registriert: 31.08.2004
|
erstellt am: 15. Feb. 2006 10:25 <-- editieren / zitieren --> Unities abgeben:         
Morgen, @BloodyMess, Wie kommst Du denn darauf ? Sowohl ".\" als auch "..\" funktionieren IMHO auch in Windows. Auch wenn man das ".\" nicht wirklich braucht. @CEROG, was für ein Makro denn ? In Excel-VBA gibt's z.B. ThisWorkBook um auf die den VBA-Code enthaltende Mappe zuzugreifen. Via .FullName, .Name und .Path kommt man an deren Pfad und/oder Name. Vielleicht tut's ja sowas wie: ThisWorkBook.Path & "\Pfad\xyz" oder auch was wie ThisWorkBook.Path & "\..\AndererPfad\abc" CU , Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 15. Feb. 2006 10:37 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied

|
erstellt am: 15. Feb. 2006 17:05 <-- editieren / zitieren -->
Hallo zusammen, Ich arbeite gerade an einem VBA-Makro für CATIA V5. Aus diesem heraus möchte ich das Programm thinkCADtls.exe aufrufen, um Screenshots umzuwandeln. Leider funktioniert der einfache Aufruf "thinkcadtls.exe" mit den zugehörigen Optioenen und Argumenten nicht :-(. Ich muß mir wohl was anderes suchen. Viele Grüße, CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 (SP2 & SP1) / Win XP pro (SP1) & Win 2000 pro (SP4) AutoCAD Map 2000i / WinNT (SP6)
|
erstellt am: 16. Feb. 2006 07:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo, weiß nicht, ob es zur Lösung beiträgt, aber mit Hilfe des folgendem Beispiels habe ich Übergabeparameter mit relativen Pfaden an eine ausführbare Datei übergeben können. Code: Sub teer()Debug.Print VBA.CurDir '' -> C:\Dokumente und Einstellungen\UserXY\Eigene Dateien '' -> Programmordner ... C:\Programme\loesche_mich '' -> Datei zum einlesen ... C:\ '' -> Datei zum schreiben ... c:\Temp '' 1te Möglichkeit VBA.Shell ("..\..\..\Programme\loesche_mich\rotateBMP.exe ..\..\..\draw_1.bmp ..\..\..\Temp\rota.bmp")
'' 2te Möglichkeit Dim WSHShell As Object Set WSHShell = CreateObject("WScript.Shell") WSHShell.Run ("..\..\..\Programme\loesche_mich\rotateBMP.exe ..\..\..\draw_1.bmp ..\..\..\Temp\rota.bmp")
End Sub
Grüssle TP ------------------ "Soll es funktionieren oder darf es auch etwas von Siemens sein?" ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |