Get Sheet in Multi-sheet Drawing Example (VBA)
This example shows how to get each sheet in a multi-sheet drawing regardless
whether the sheet is loaded.
'----------------------------------------------
' Preconditions:
' 1. Click File > Open.
' 2. Open:
' <SOLIDWORKS_install_dir>\samples\tutorial\advdrawings\foodprocessor.sldrw
' 3. Select Selected and select Sheet1 in Select
sheets to load .
' 4. Click Open.
' 5. Run the macro.
'
' Postconditions: Only Sheet1 is loaded.
'
' NOTE: Because this drawing document is used by a
' SOLIDWORKS
online tutorial, do not save any
' changes
when closing the document.
'----------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim vSheetName As Variant
Dim i As Integer
Dim bRet As Boolean
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
' Get the sheets in the drawing document
vSheetName = swDraw.GetSheetNames
' Traverse the drawing sheets and determine whether
' they're loaded
For i = 0 To UBound(vSheetName)
bRet
= swDraw.ActivateSheet(vSheetName(i))
Dim
swSheet As Sheet
Set
swSheet = swDraw.Sheet(vSheetName(i))
'swSheet
= swDraw.GetCurrentSheet
If
(swSheet.IsLoaded) Then
Debug.Print
(vSheetName(i) & " is loaded.")
Else
Debug.Print
(vSheetName(i) & " is not loaded.")
End
If
Next i
End Sub