Ich versuche, eine SW-Datei aus einem Excel-Makro zu öffnen.
Ich verwende den folgenden Code:
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim retval As String
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim exSheet As Excel.Worksheet
Dim i As Integer
Dim bool As Boolean
Dim boolstatus As Boolean
Dim myBool As Boolean
Dim myError As Long, myWarning As Long
Sub Bouton1_Cliquer()
myBool = Shell("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe ", vbNormalFocus)
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.OpenDoc("C:\Users\nouveau\Documents\mapiece.SLDPRT", swDocPART)
Set swApp = Nothing: Set swModel = Nothing
End Sub
Das Öffnen von SW ist in Ordnung, aber die Datei mypiece.sldprt lässt sich nicht öffnen. Keine Fehlermeldung.
Ich verwende SW 2015.
Können Sie mir sagen, was los ist?
Hallo;
Ihre Anfrage und der beigefügte Code lassen mich ratlos zurück.
Was genau möchten Sie tun?
Öffnen Sie ein bestimmtes Dokument mit einem Makro aus Solidworks (Solidworks API)?
oder
Verwenden Sie Excel, um ein Dokument aus einer Liste zu öffnen (über eine Makro-Schaltfläche? ?
....
In beiden Fällen: Bevorzugen Sie den Opendoc6-Befehl("Speicherort und Name der zu öffnenden Datei",swdocpart,swOpenDocOptions_Silent,"")
Ein Beispiel hier: https://help.solidworks.com/2015//Open_Document_Example_VB.htm?verRedirect=1
Und die Bestellinformationen hier:https://help.solidworks.com/2015/opendoc6.html
Herzliche Grüße
1 „Gefällt mir“
Ich versuche, ein Solidworks Dokument über eine Schaltfläche in einer Excel-Datei zu öffnen
Ich habe auch die Funktion "opendoc6" ausprobiert, ohne Erfolg.
Set swModel = swApp.OpenDoc6("C:\Users\nouveau\Documents\mapiece.SLDPRT", 2, 1, "", myError, myWarning)
Könnte es von den Optionen kommen, die ich nur schwer definieren kann? Hier der ReadOnly-Modus. Ich möchte idealerweise im ReadOnly- UND Silent-Modus öffnen.
Ich für meinen Teil habe diesen Code anzupassen (Raum 5, Raum 6 und MEP-Raum sind bei Bedarf zu ersetzen). Getestet und für gut befunden
Sub EssaiSW()
Dim swApp As SldWorks.SldWorks
Dim swModelUn As SldWorks.ModelDoc2
Dim swModelDeux As SldWorks.ModelDoc2
If swApp Is Nothing Then
Set swApp = CreateObject("SLDWORKS.application")
swApp.Visible = True
Else
Set swApp = Application.SldWorks
MsgBox "Ouverture de Solidworks par Excel=Ok"
End If
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Users\sebastien.denis\Desktop\Pièce5.sldprt")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Users\sebastien.denis\Desktop\Pièce5.slddrw")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
swApp.CloseDoc swModelUn.GetTitle
Set swModelUn = swApp.ActiveDoc
MsgBox swModelUn.GetTitle
'Set swDocSpecification = swApp.GetOpenDocSpec("C:\Users\sebastien.denis\Desktop\Pièce6.sldprt")
'Set swModelDeux = swApp.OpenDoc7(swDocSpecification)
'swApp.CloseDoc swModelUn.GetTitle
'MsgBox swModelDeux.GetTitle
'swApp.CloseDoc swModelDeux.GetTitle
End Sub
.
1 „Gefällt mir“
Toll, es funktioniert.
Ich mache mit meinem Code weiter;)