| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SOLIDWORKS Online-Kurse | Jederzeit verfügbar << , ein Kurs
|
|
Autor
|
Thema: Edrawings +vb / VBA Edrawing mit Datei öffnen?? (3763 mal gelesen)
|
Harald Stratmann Mitglied Dipl.-Ing. Maschinenbau
 
 Beiträge: 169 Registriert: 17.11.2003 W7 professional-64bit 12GB Ram NVidia Quadro 2000 SWX 2013
|
erstellt am: 21. Aug. 2006 14:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo SWX  - und Prog- Spezialisten, wie kann man Edrawing mit einer bestimmten datei z.B. xxxx.slddrw per vb oder vba öffnen. Wäre hilfreich, wenn jemand die Programmsyntax kennt und hier einstellt. Danke schon mal im voraus, schönen tag noch Gruß Harald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberparleiter Mitglied Konstrukteur
  
 Beiträge: 706 Registriert: 06.06.2000
|
erstellt am: 22. Aug. 2006 08:52 <-- editieren / zitieren --> Unities abgeben:          Nur für Harald Stratmann
|
Harald Stratmann Mitglied Dipl.-Ing. Maschinenbau
 
 Beiträge: 169 Registriert: 17.11.2003 W7 professional-64bit 12GB Ram NVidia Quadro 2000 SWX 2013
|
erstellt am: 22. Aug. 2006 11:20 <-- editieren / zitieren --> Unities abgeben:         
Hallo Frank, EModelTypeLibrary als Verweis ist gesetzt. Trotzdem funktioniert die Syntax so nicht. teste das ganze unter EXCel. Verstehe ich doch richtig, das unter ArtName der String mit dem dateinamen der zu öffnenden SWX datei gemeint ist. Ist evtl . eine Variablen Oder Object deklaration notwendig? GRuß Harald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
  
 Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 22. Aug. 2006 11:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Harald Stratmann
Hi, Anstelle des Verweises muss man die Komponente anbinden. Wenn das passiert ist, musst du aus der VBA Toolbox das eDrawing Control (da wo du Textboxen, Label ect. .. findest) auf deine VBA Form ziehen. Dann klappt es auch. Gruß Micha
------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Harald Stratmann Mitglied Dipl.-Ing. Maschinenbau
 
 Beiträge: 169 Registriert: 17.11.2003 W7 professional-64bit 12GB Ram NVidia Quadro 2000 SWX 2013
|
erstellt am: 22. Aug. 2006 12:30 <-- editieren / zitieren --> Unities abgeben:         
Hallo Micha, klar jetzt weiß ich was gemeint ist. Ist richtig, wenn ich das Control auf eine Formular ziehe, kann innerhalb des Formulars Dateien öffnen und darstellen. Ist aber leider nicht das was ich gesucht habe. Ich möchte den Edrwaing viewer als eigenständige Applikation öffnen, und dabei gleich die zu öffnende Datei mit übergeben. Vielleicht habt Ihr ja dafür auch die VB /VBA Syntax da. Gruß Harald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
  
 Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 22. Aug. 2006 13:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Harald Stratmann
Option Explicit Private Declare Function CloseHandle Lib "kernel32" _ (ByVal hObject As Long) As Long Private Declare Function OpenProcess Lib "kernel32" _ (ByVal dwDesiredAccess As Long, _ ByVal bInheritHandle As Long, _ ByVal dwProcessId As Long) As Long Private Declare Function WaitForSingleObject Lib _ "kernel32" (ByVal hHandle As Long, _ ByVal dwMilliseconds As Long) As Long Private Const INFINITE = &HFFFF Private Const SYNCHRONIZE = &H100000 Sub Test() Dim sFile As String 'Parameter Dim sString As String 'ShellString Dim ret As Double 'PID Dim lHandle As Long 'Handle 'Pfad zur eDRW Applikation Const eDRW As String = "C:\Programme\Gemeinsame Dateien\eDrawings2006\EModelViewer.exe" 'Anpassen 'Test sFile = "C:\Teil1.SLDPRT" 'Shellstring zusammen setzen chr$(34) wegen leerzeichen in Pfaden und Parametern sString = Chr$(34) & eDRW & Chr$(34) & Space(1) & Chr$(34) & sFile & Chr$(34) On Error Resume Next 'Falls die Datei eDRW nicht existiert wirft Shell einen Fehler ret = Shell(sString, vbNormalFocus) If ret = 0 Then MsgBox "Fehler... Kein EDrawing gefunden", vbInformation + vbOKOnly Exit Sub Else 'Warten bis die App beendet wurde ... lHandle = OpenProcess(SYNCHRONIZE, 0, ret) If lHandle <> 0 Then ret = WaitForSingleObject(lHandle, INFINITE) CloseHandle (lHandle) End If MsgBox "Done :-P", vbInformation End If End Sub ------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
[Diese Nachricht wurde von VBSpawn am 14. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Harald Stratmann Mitglied Dipl.-Ing. Maschinenbau
 
 Beiträge: 169 Registriert: 17.11.2003 W7 professional-64bit 12GB Ram NVidia Quadro 2000 SWX 2013
|
erstellt am: 23. Aug. 2006 16:00 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank an VBspawn, Quellcode funktioniert soweit, kann da jetzt weiter aufsetzen. SChön wäre noch wenn man den Pfad für Edrawingviewer.exe nicht so als konstante setzen müßte. Aber ich denke die Infos aus der registry zu holen, wäre hier ein wenig zu aufwendig. Hat mir gut weitergeholfen. Auch Dank an alle anderen. Gruß Harald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |