Próbuję otworzyć plik oprogramowania z makra programu Excel.
Używam następującego kodu:
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
Otwieranie oprogramowania jest w porządku, ale plik mypiece.sldprt nie otwiera się. Brak komunikatu o błędzie.
Używam oprogramowania SW 2015.
Czy możesz mi powiedzieć, co jest nie tak?
Witam;
Twoja prośba i załączony kod wprawiają mnie w zakłopotanie.
Co dokładnie chcesz zrobić?
Otworzyć określony dokument z makrem z Solidworks (Solidworks API)?
lub
Użyj programu Excel, aby otworzyć dokument z listy (za pomocą przycisku Makro? ?
....
W obu przypadkach: preferuj polecenie Opendoc6("Lokalizacja i nazwa pliku do otwarcia",swdocpart,swOpenDocOptions_Silent,"")
Przykład tutaj: https://help.solidworks.com/2015//Open_Document_Example_VB.htm?verRedirect=1
A informacje o zamówieniu tutaj:https://help.solidworks.com/2015/opendoc6.html
Pozdrowienia
1 polubienie
Próbuję otworzyć dokument Solidworks za pomocą przycisku w pliku programu Excel
Próbowałem również funkcji "opendoc6", ale bez powodzenia.
Set swModel = swApp.OpenDoc6("C:\Users\nouveau\Documents\mapiece.SLDPRT", 2, 1, "", myError, myWarning)
Czy może to wynikać z opcji, które mam problem ze zdefiniowaniem? Tutaj tryb tylko do odczytu. Idealnie byłoby otworzyć w trybie tylko do odczytu i cichym.
Ze swojej strony mam ten kod do dostosowania (pokój 5, pokój 6 i pokój MEP mają zostać zastąpione przez twoją potrzebę). Przetestowane i zatwierdzone
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 polubienie