Hallo
Ich bin nicht sehr gut im Programmieren, deshalb komme ich zu Ihnen.
Ich versuche, zwei Makros zu kompilieren, um STEP aus dem MEP zu erstellen, so dass ich ein erstes Makro habe, das den Salon öffnet, und ein zweites, das das Teil im STEP-Format speichert.
im swApp Als Objekt
Teil als Objekt dimmen
Dim boolstatus als boolescher Wert
Dim longstatus As Long, longwarnings As Long
Dim Locatie As String
Locatie_aangepast als Zeichenfolge dimmen
OpenDoc als Objekt dimmen
Extensie_nieuw als Zeichenfolge dimmen
Dimmen Extensie_oud als Zeichenfolge
Dim retval As String
Dim Naam Als Saite
Naam_aangepast als Zeichenfolge dimmen
Dim bRetVal als Zeichenfolge
Dim swModel As SldWorks.ModelDoc2
Dim swDrawing As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Fehler so lange dimmen
Sub-Makro1()
Legen Sie swApp = Application.SldWorks fest
Festlegen von swModel = swApp.ActiveDoc
Set swApp = CreateObject("SldWorks.Application")
Setze OpenDoc = swApp.ActiveDoc()
Set Part = swApp.ActiveDoc
' Ist das Dokument aktiv?
Wenn swModel nichts ist, dann
swApp.SendMsgToUser2 "Eine Zeichnungsdatei muss geöffnet sein.", swMbWarning, swMbOk
Sub beenden
Ende, wenn
' Handelt es sich um ein Teildokument?
Wenn swModel.GetType <> SwConst.swDocDRAWING dann
swApp.SendMsgToUser2 "Eine Zeichnungsdatei muss geöffnet sein.", swMbWarning, swMbOk
Sub beenden
Ende, wenn
Set swDrawing = swModel
Set swView = swDrawing.GetFirstView
Legen Sie swView = swView.GetNextView fest
Wenn swView nichts ist, dann
MsgBox "Bitte fügen Sie zuerst eine Modellansicht ein!"
Ende
Oder
swApp.ActivateDoc3 swView.GetReferencedModelName, False, swRebuildOnActivation_e.swUserDecision, Fehler
Ende, wenn
Aufrufen von macro2
Ende Sub
Sub-Makro2()
Set swApp = CreateObject("SldWorks.Application")
Festlegen von swModel = swApp.ActiveDoc
Setze OpenDoc = swApp.ActiveDoc()
Set Part = swApp.ActiveDoc
boolstatus = swApp.SetUserPreferenceIntegerValue(swStepAP, 214) 'Version AP214 erzwingen
boolstatus = swApp.SetUserPreferenceIntegerValue(swStepExportPreference, swAcisOutputGeometryPreference_e.swAcisOutputAsSolidAndSurface) 'Export im Volumenkörper-/Flächengeometrieformat erzwingen
Extensie_oud = ". SLDPRT"
Extensie_nieuw = ". SCHRITT"
Locatie = OpenDoc.GetPathName
Locatie_aangepast = Links(Lage, Länge(Lage) - 7)
retval = Dir$(Locatie_aangepast & Extensie_oud)
Naam = dir$(Ort)
Naam_aangepast = Links(Naam, Len(Naam) - 7)
Titel = OpenDoc.GetTitle <------ Kompilierungsfehler
Titel = Left(Titel, (Len(Titel)))
Wenn retval = Naam Dann
nRetval = swApp.SendMsgToUser2(Naam_aangepast & " . STEP-Datei wurde erstellt", swMbWarning, swMbOk)
Ende, wenn
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3(Naam_aangepast + Format(Jetzt, " yyyy-mm-dd") & Extensie_nieuw, 0, 0)
swApp.CloseDoc Titel
Ende Sub
Makros funktionieren, wenn sie alleine sind, aber sobald ich sie kompiliere, funktioniert es nicht mehr. Mir wird folgende Meldung angezeigt "Kompilierungsfehler: Variable nicht definiert" (siehe die Zeile oben in Fettdruck)
Wenn mir jemand helfen kann.
Vielen Dank im Voraus!