j'essai d'ouvrir un fichier SW depuis une macro excel.
j'utilise le code suivant :
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
L'ouverture de SW se fait bien, mais le fichier mapiece.sldprt ne s'ouvre pas. Pas de message d'erreur.
J'utilise SW 2015.
Sauriez vous me dire ce qui cloche?
Bonjour;
Votre demande et le code attaché me laisse perplexe.
Que voulez-vous faire exactement ?
Ouvrir un document spécifique avec une macro depuis Solidworks(API Solidworks)?
ou
Utiliser Excel pour ouvrir un document à partir d'une liste (via un bouton Macro? ?
....
Dans les deux cas : préférez la commande Opendoc6("Emplacement et Nom du fichier à ouvrir",swdocpart,swOpenDocOptions_Silent,"")
un exemple ici : https://help.solidworks.com/2015//Open_Document_Example_VB.htm?verRedirect=1
Et les informations de la commande ici :https://help.solidworks.com/2015/opendoc6.html
Cordialement
1 « J'aime »
J'essai d'ouvrir un document Solidworks depuis un bouton dans un fichier Excel
J'ai aussi essayé le fonction "opendoc6", sans succès.
Set swModel = swApp.OpenDoc6("C:\Users\nouveau\Documents\mapiece.SLDPRT", 2, 1, "", myError, myWarning)
Cela viendrait-il des option que j'ai du mal à définir? Ici, mode ReadOnly. J'aimerais idéalement ouvrir en mode ReadOnly ET Silent.
Pour ma part j'ai ce code à adapter (pièce 5, Pièce 6 et MEP pièce sont à remplacer par ton besoin) . Testé et approuvé
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 « J'aime »