Witam
Nie jestem zbyt dobry w programowaniu, dlatego przyjeżdżam do Ciebie.
Próbuję skompilować dwa makra, aby utworzyć STEP z MEP, więc mam pierwsze makro, które otwiera salon i drugie, które zapisuje część w formacie STEP.
im swApp As Object (Obiekt)
Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Locatie Jako Ciąg
Dim Locatie_aangepast As String
Przyciemnij OpenDoc jako obiekt
Dim Extensie_nieuw As String
Dim Extensie_oud As String
Dim retval As String
Dim Naam As String
Dim Naam_aangepast As String
Dim bRetVal As String
Dim swModel As SldWorks.ModelDoc2
Dim swDrawing As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Błędy przyciemnienia tak długo
Makro podrzędne1()
Ustaw swApp = Application.SldWorks
Ustaw swModel = swApp.ActiveDoc
Ustaw swApp = CreateObject("SldWorks.Application")
Ustaw OpenDoc = swApp.ActiveDoc()
Ustaw część = swApp.ActiveDoc
' Czy dokument jest aktywny?
Jeśli swModel jest niczym, to
swApp.SendMsgToUser2 "Plik rysunku musi być otwarty.", swMbWarning, swMbOk
Wyjdź z subwoofera
Zakończ jeżeli:
' Czy jest to dokument częściowy?
Jeśli swModel.GetType <> SwConst.swDocDRAWING Następnie
swApp.SendMsgToUser2 "Plik rysunku musi być otwarty.", swMbWarning, swMbOk
Wyjdź z subwoofera
Zakończ jeżeli:
Ustaw swDrawing = swModel
Ustaw swView = swDrawing.GetFirstView
Ustaw swView = swView.GetNextView
Jeśli swView jest niczym, to
MsgBox "Proszę najpierw wstawić widok modelu!"
Koniec
Inaczej
swApp.ActivateDoc3 swView.GetReferencedModelName, Fałsz, swRebuildOnActivation_e.swUserDecision, Błędy
Zakończ jeżeli:
Zadzwoń do makro2
Koniec subwoofera
Makro podrzędne2()
Ustaw swApp = CreateObject("SldWorks.Application")
Ustaw swModel = swApp.ActiveDoc
Ustaw OpenDoc = swApp.ActiveDoc()
Ustaw część = swApp.ActiveDoc
boolstatus = swApp.SetUserPreferenceIntegerValue(swStepAP, 214) 'Wymuś wersję AP214
boolstatus = swApp.SetUserPreferenceIntegerValue(swStepExportPreference, swAcisOutputGeometryPreference_e.swAcisOutputAsSolidAndSurface) 'Wymuś eksport w formacie geometrii bryły/powierzchni
Extensie_oud = ". SLDPRT"
Extensie_nieuw = ". KROK"
Locatie = OpenDoc.GetPathName
Locatie_aangepast = Lewo(Locatie, Len(Lokatie) - 7)
retval = Dir$(Locatie_aangepast & Extensie_oud)
Naam = Dir$(Locatie)
Naam_aangepast = Lewo(Naam, Len(Naam) - 7)
Titel = Błąd kompilacji OpenDoc.GetTitle <------
Titel = Lewo(Tytuł, (Len(Tytuł)))
Jeśli retval = Naam Then
nRetval = swApp.SendMsgToUser2(Naam_aangepast & " . Plik STEP został utworzony", swMbWarning, swMbOk)
Zakończ jeżeli:
Ustaw część = swApp.ActiveDoc
longstatus = Part.SaveAs3(Naam_aangepast + Format(Teraz, " rrrr-mm-dd") & Extensie_nieuw, 0, 0)
swApp.CloseDoc Titel
Koniec subwoofera
Makra działają, gdy są same, ale jak tylko je skompiluję, już nie działają. Otrzymuję następujący komunikat wyświetlany jako "Błąd kompilacji: zmienna nie została zdefiniowana" (patrz pogrubiona linijka powyżej)
Jeśli ktoś może mi pomóc.
Z góry dzięki!