Ik probeer een SW-bestand te openen vanuit een Excel-macro.
Ik gebruik de volgende 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
Het openen van SW is prima, maar het bestand mypiece.sldprt opent niet. Geen foutmelding.
Ik gebruik SW 2015.
Kun je me vertellen wat er aan de hand is?
Hallo;
Uw verzoek en de bijgevoegde code laten me perplex achter.
Wat wil je precies gaan doen?
Een specifiek document openen met een macro van Solidworks (Solidworks API)?
of
Gebruik Excel om een document uit een lijst te openen (via een Macro-knop? ?
....
In beide gevallen: geef de voorkeur aan het Opendoc6-commando ("Locatie en naam van het te openen bestand",swdocpart,swOpenDocOptions_Silent,"")
Een voorbeeld hier: https://help.solidworks.com/2015//Open_Document_Example_VB.htm?verRedirect=1
En de bestelinformatie hier:https://help.solidworks.com/2015/opendoc6.html
Vriendelijke groeten
1 like
Ik probeer een Solidworks-document te openen via een knop in een Excel-bestand
Ik heb ook de functie "opendoc6" geprobeerd, zonder succes.
Set swModel = swApp.OpenDoc6("C:\Users\nouveau\Documents\mapiece.SLDPRT", 2, 1, "", myError, myWarning)
Zou het kunnen komen van de opties die ik moeilijk kan definiëren? Hier, Alleen-lezen modus. Ik zou idealiter willen openen in de Alleen-lezen EN stille modus.
Van mijn kant heb ik deze code aan te passen (kamer 5, kamer 6 en MEP-kamer moeten worden vervangen door uw behoefte). Getest en goedgekeurd
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 like
Geweldig, het werkt.
Ik ga door met mijn code;)