| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SOLIDWORKS Cloud: Anleitung zum Konstruieren im Browser |
Autor
|
Thema: Excel meets SolidWorks (1432 mal gelesen)
|
Tim Kühl Mitglied Dipl.-Ing(FH)
Beiträge: 19 Registriert: 13.05.2008 HP Workstation xw4300 Intel Core 2 CPU; 3.40GHz 2 GB RAM NVIDIA Quadro FX 1400 --- X86 --- Windows XP Professional SP2 SolidWorks 2008 SP3.0 MS Office Prof 2003
|
erstellt am: 30. Mai. 2008 12:42 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich sitze gerade daran, dass Excel mir SolidWorks öffnen kann (via VBA). Soweit so gut... nun möchte ich noch eine Baugruppe öffnen, allerdings gibt mir SWX immer eine Fehlermeldung wieder Wenn ich mit dem Code eine Batch-Datei aufrufe (start "" "C:\programme\solidworks (2)\solidworks (2)\sldworks.exe" "F:\Eigene Dateien\-1- Projekt - Konfigurator\test\Formen\Lichteinsatz\M60x90.SLDASM") geht es Ich möchte das ganze aber möglichst ohne Batch!! Besten Dank im Vorraus Hier mal der gefundene Code _________________________________________________________________ Option Explicit
Private Declare Function OpenProcess Lib "kernel32.dll" ( _ ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, _ ByVal dwProcessId As Long) As Long Private Declare Function CloseHandle Lib "kernel32.dll" ( _ ByVal hObject As Long) As Long Private Declare Function WaitForSingleObject Lib "kernel32.dll" ( _ ByVal hHandle As Long, _ ByVal dwMilliseconds As Long) As Long Private Const PROCESS_QUERY_INFORMATION = &H400 Private Const SYNCHRONIZE = &H100000 Private Const INFINITE As Long = &HFFFFFFFF Public Sub ShellAndWait() Dim lngTaskID As Long, lngProcID As Long, lngExitCode As Long lngTaskID = Shell("C:\programme\solidworks (2)\solidworks (2)\sldworks.exe F:\Eigene Dateien\-1- Projekt - Konfigurator\test\Formen\Lichteinsatz\M60x90.SLDASM", vbMaximizedFocus) lngProcID = OpenProcess(SYNCHRONIZE + PROCESS_QUERY_INFORMATION, 0&, lngTaskID) Call WaitForSingleObject(lngProcID, INFINITE) Call CloseHandle(lngProcID) AppActivate Application.Caption, True MsgBox "Jetzt geht's weiter" End Sub _________________________________________________________________ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 30. Mai. 2008 13:23 <-- editieren / zitieren --> Unities abgeben: Nur für Tim Kühl
Hallo Tim, ich kann da nur raten: in deinem Shellaufruf hast du jede Menge Leerzeichen sowohl im Pfad zu SolidWorks als auch im Pfad zu der zu öffnenden Datei. Ich würde es sowieso nicht so machen, sondern nur SolidWorks starten mit CreateObejct (nicht Shell) und dann mit OpenDoc6 das Modell selbst laden, aber in deiner Batchdatei hast du ja auch den Pfad zu SolidWorks und den Pfad zum Modell jeweils separat mit Gänsefüsschen eingeschlossen, damit Windows merkt, dass es je ein Parameter ist. Falls es das nicht schon war wäre in jedem Fall die Fehlermeldung hilfreich, die SolidWorks da rausschmeisst Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tim Kühl Mitglied Dipl.-Ing(FH)
Beiträge: 19 Registriert: 13.05.2008 HP Workstation xw4300 Intel Core 2 CPU; 3.40GHz 2 GB RAM NVIDIA Quadro FX 1400 --- X86 --- Windows XP Professional SP2 SolidWorks 2008 SP3.0 MS Office Prof 2003
|
erstellt am: 30. Mai. 2008 14:07 <-- editieren / zitieren --> Unities abgeben:
Hi Stefan! Also die Fehlermeldung lautet "Die zu importierende Datei konnte nicht gefunden werden." Was aber nicht sein kann, da ich genau den Pfad über "Ausführen" getestet habe Danke für den Tipp. Mit API und OpenDoc muss ich mich erstmal beschäftigen Happy Weekend Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 30. Mai. 2008 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für Tim Kühl
Hiho Tim, bei der Fehlermeldung bin ich mir sogar ziemlich sicher, dass die SolidWorks Session die Datei nicht findet, weil da ja auch ein Leerzeichen im Dateinamen ist. Versuch die Gänsefüsschen im Shellaufruf mal eben mit Gänsefüsschen zu maskieren, also Code:
str1 = """C:\programme\solidworks (2)\solidworks (2)\sldworks.exe""" str2 = """F:\Eigene Dateien\-1- Projekt - Konfigurator\test\Formen\Lichteinsatz\M60x90.SLDASM""" str3 = str1 & " " & str2 lngTaskID = Shell(str3, vbMaximizedFocus)
Und ja, dass sind jeweils 3 Gänsefüsschen am Anfang und am Ende Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Gastleser
|
erstellt am: 30. Mai. 2008 16:13 <-- editieren / zitieren --> Unities abgeben: Nur für Tim Kühl
|
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 31. Mai. 2008 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für Tim Kühl
Guten Morgen, wenn ich mir den Beitrag so anschaue muss ich sofort an eine DOS-Pfad Angabe denken. Ich vermute das es daran liegen könnte. Versuche also am besten mal deinen Shell-Aufruf mit DOS-Pfad Angaben zu verwenden. Hier eine VB Funktion welche aus einen normalem Pfad in einen DOS-Pfad umwandelt, falls bedarf besteht. ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tim Kühl Mitglied Dipl.-Ing(FH)
Beiträge: 19 Registriert: 13.05.2008 HP Workstation xw4300 Intel Core 2 CPU; 3.40GHz 2 GB RAM NVIDIA Quadro FX 1400 --- X86 --- Windows XP Professional SP2 SolidWorks 2008 SP3.0 MS Office Prof 2003
|
erstellt am: 02. Jun. 2008 08:15 <-- editieren / zitieren --> Unities abgeben:
|