Activate Each View on Current Sheet Example (VBA)
This example shows how to activate each drawing view on the current
sheet.
'----------------------------------------
'
' Preconditions: A drawing view on the current sheet is
active.
'
'
' Postconditions: Each drawing view on the current sheet
is activated.
'
'----------------------------------------
Option Explicit
Public Enum swDrawingViewTypes_e
swDrawingSheet
= 1
swDrawingSectionView
= 2
swDrawingDetailView
= 3
swDrawingProjectedView
= 4
swDrawingAuxiliaryView
= 5
swDrawingStandardView
= 6
swDrawingNamedView
= 7
swDrawingRelativeView
= 8
End Enum
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swDraw As
SldWorks.DrawingDoc
Dim
swSheet As
SldWorks.Sheet
Dim
swView As
SldWorks.view
Dim
swActiveView As
SldWorks.view
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swDraw = swModel
Set
swSheet = swDraw.GetCurrentSheet
Set
swActiveView = swDraw.ActiveDrawingView
Set
swView = swDraw.GetFirstView
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" "
& swSheet.GetName
Debug.Print
" ActiveView
= " & swActiveView.GetName2
Debug.Print
""
While
Not swView Is Nothing
Debug.Print
" "
& swView.GetName2 & "
[" & swView.Type &
"]"
'
Returns FALSE if trying to activate the drawing sheet
bRet
= swDraw.ActivateView(swView.GetName2):
If
False = bRet Then
Debug.Assert
swSheet.GetName = swView.GetName2
bRet
= swDraw.ActivateSheet(swView.GetName2)
End
If
Debug.Assert
bRet
Set
swView = swView.GetNextView
Wend
End Sub
'----------------------------------------