33456
Mechanical
- May 23, 2007
- 10
How can i delete my 'sheet format' with VBA ?!?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
'DeleteSheetFormat
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim swSelMgr As SldWorks.SelectionMgr
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim bStatus As Boolean
Dim nDeleteOption As Long
Dim nStatus As Long
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If (swModel Is Nothing) Then
MsgBox "Must have a Drawing document open." & Chr(13) & "Routine Ending.", vbExclamation, "DeleteSheetFormat"
End
End If
If (swModel.GetType <> swDocDRAWING) Then
MsgBox "Must have a Drawing document open." & Chr(13) & "Routine Ending.", vbExclamation, "DeleteSheetFormat"
End
End If
Set swModelDocExt = swModel.Extension
Set swDraw = swModel
Set swSheet = swDraw.GetCurrentSheet
swModel.ClearSelection2 True
Set swSelMgr = swDraw.SelectionManager
bStatus = swModelDocExt.SelectByID2(swSheet.GetSheetFormatName, "SHEET", 0, 0, 0, False, 0, Nothing, 0)
If bStatus Then
' To delete absorbed features, use enum SwConst.swDelete_Absorbed
' To delete children features, use enum SwConst.swDelete_Children
' To keep absorbed features and children features, set DeleteOption = 0
'nDeleteOption = SwConst.swDelete_Absorbed
'nDeleteOption = SwConst.swDelete_Children
'nDeleteOption = 0
nDeleteOption = SwConst.swDelete_Absorbed + SwConst.swDelete_Children
nStatus = swModelDocExt.DeleteSelection2(nDeleteOption)
If (nStatus = 1) Then
swModel.ClearSelection2 True
swModel.ForceRebuild3 (False)
Else
MsgBox "Delete Sheet Format failed." & Chr(13) & "*Delete* function failed.", vbExclamation, "DeleteSheetFormat"
End If
Else
MsgBox "Delete Sheet Format failed." & Chr(13) & "Unable to *select* Sheet Format", vbExclamation, "DeleteSheetFormat"
End If
End Sub