Hallo wir bräuchten ein Makro um das aktive Blattformat neu zu laden.
Ich hab da auch schon was zusammen gebastelt. Es funktioniert so weit auch schon.
Aber das Makro verändert die Projektionsmethode vom ersten auf den dritten Winkel.
Was muss ich verändern bzw. ergänzen das das nicht mehr passiert?
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim vSheetProps As Variant
Dim vSheetName As Variant
Dim vTemplateName As Variant
Dim longstatus As Long
Dim longwarnings As Long
Dim nErrors As Long
Dim nWarnings As Long
Dim i As Long
'***************************************
On Error Resume Next
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
' Check to see if a drawing is loaded.
If swModel Is Nothing Then
MsgBox "Keine 2D Zeichung geöffnet!"
Exit Sub
End If
If swModel.GetType <> swDocDRAWING Then
MsgBox "Keine 2D Zeichung geöffnet!"
Exit Sub
End If
Set swDraw = swModel
vSheetName = swDraw.GetSheetNames
' Traverse the drawing sheets
For i = 0 To UBound(vSheetName)
swDraw.ActivateSheet vSheetName(i)
Set swSheet = swDraw.GetCurrentSheet
'Get the current drawing sheet format from this sheet
vTemplateName = swSheet.GetTemplateName
vSheetProps = swSheet.GetProperties
'Set the sheet format to NONE
swModel.SetupSheet5 swSheet.GetName, swDwgPapersUserDefined, swDwgTemplateNone, vSheetProps(2), vSheetProps(3), False, "", vSheetProps(5), vSheetProps(6), "Default", True
'Reload original sheet format for this sheet
swModel.SetupSheet5 swSheet.GetName, swDwgPapersUserDefined, swDwgTemplateCustom, vSheetProps(2), vSheetProps(3), False, vTemplateName, vSheetProps(5), vSheetProps(6), "Default", True
swDraw.ViewZoomtofit2
Next i
swDraw.ActivateSheet vSheetName(0)
swDraw.ForceRebuild3 False
swDraw.Save3 1, nErrors, nWarnings
Set swDraw = Nothing
MsgBox "Blatt wurde aktualisiert..."
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP