In diesem Video mache ich an der Stelle weiter, wo ich in Folge 15 aufgehört habe.
Ich werde das Formular um Funktionen erweitern, damit STEP Daten exportiert werden können.
Und an dieser Stelle der Code der im Makro vorhanden ist.
{MainForm}
Option Explicit
Private Sub btnABBRECHEN_Click()
End
End Sub
Private Sub btnSPEICHERN_Click()
If ckbPDF.Value = True Then
mod_pdf.speichern
End If
If ckbDXF.Value = True Then
mod_dxf.speichern
End If
If ckbSTEP.Value = True Then
mod_step.speichern
End If
End
End Sub
Private Sub UserForm_Initialize()
mod_swx.modell_pruefen
If mod_swx.IsModelPartDoc = True Or mod_swx.IsModelAssemblyDoc = True Then
ckbSTEP.Enabled = True
optn_step214.Enabled = True
optn_step203.Enabled = True
Else
ckbSTEP.Enabled = False
optn_step214.Enabled = False
optn_step203.Enabled = False
End If
tbxDATEINAME.Text = mod_swx.dateiname_auslesen
End Sub
{mod_swx}
Option Explicit
Public swApp As SldWorks.SldWorks
Public swModel As ModelDoc2
Sub modell_pruefen()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
swApp.SendMsgToUser "Keine Dokument geladen."
End
End If
If GetFullName = "" Then
swApp.SendMsgToUser "Die Datei wurde noch nie gespeichert." & vbCrLf & "Makrolauf wird abgebrochen."
End
End If
End Sub
Function dateiname_auslesen()
Dim Dateiname As String
Dim temp As Variant
temp = Split(GetFullName, "\")
Dateiname = temp(UBound(temp))
dateiname_auslesen = Left(Dateiname, Len(Dateiname) - 7)
End Function
Private Function GetFullName()
GetFullName = swModel.GetPathName
End Function
Function IsModelPartDoc()
If swModel.GetType = swDocumentTypes_e.swDocPART Then
IsModelPartDoc = True
Else
IsModelPartDoc = False
End If
End Function
Function IsModelAssemblyDoc()
If swModel.GetType = swDocumentTypes_e.swDocASSEMBLY Then
IsModelAssemblyDoc = True
Else
IsModelAssemblyDoc = False
End If
End Function
Function IsModelDrawingDoc()
If swModel.GetType = swDocumentTypes_e.swDocDRAWING Then
IsModelDrawingDoc = True
Else
IsModelDrawingDoc = False
End If
End Function
{mod_step}
Option Explicit
Sub speichern()
Dim NameUndPfad As String
NameUndPfad = swModel.GetPathName
Dim NurPfad As String
Dim temp As Variant
temp = Split(NameUndPfad, "\")
Dim i As Integer
For i = LBound(temp) To UBound(temp) - 1
NurPfad = NurPfad & temp(i) & "\"
Next i
NameUndPfad = NurPfad & MainForm.tbxDATEINAME.Text & ".stp"
Dim tempUserPref As Integer
tempUserPref = swApp.GetUserPreferenceIntegerValue(swUserPreferenceIntegerValue_e.swStepAP)
Dim stepVersion As Integer
If MainForm.optn_step214.Value = True Then
stepVersion = 214
Else
stepVersion = 203
End If
swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swStepAP, stepVersion
Dim Errors As Long
Dim Warnings As Long
Dim ReturnValue As Boolean
ReturnValue = swModel.Extension.SaveAs3(NameUndPfad, swSaveAsVersion_e.swSaveAsCurrentVersion, swSaveAsOptions_Silent, Nothing, Nothing, Errors, Warnings)
Debug.Print "Errors: " & Errors
Debug.Print "Warnings: " & Warnings
Debug.Print "Return Value: " & ReturnValue
swApp.SetUserPreferenceIntegerValue swUserPreferenceIntegerValue_e.swStepAP, tempUserPref
End Sub
{mod_pdf}
Option Explicit
Sub speichern()
Debug.Print "PDF speichern"
End Sub
{mod_dxf}
Option Explicit
Sub speichern()
Debug.Print "DXF speichern"
End Sub