Fire Event After Selection Made (VBA)
This example shows how to fire an event after a selection is made in a part,
assembly, or drawing document.
Main module
'------------------------------------
' Preconditions:
' 1. Part, assembly, or drawing document
' is active.
' 2. Run this macro (press F5 and click Run).
'
' Postconditions:
' 1. Select an entity.
' 2. Message box is displayed confirming your
' selection.
'----------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim partDoc As New Class1
Dim assemblyDoc As New Class2
Dim drawingDoc As New Class3
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
' Determine the document type, then
' execute its corresponding class module
If swModel.GetType = swDocPART Then
partDoc.init swModel
ElseIf swModel.GetType = swDocASSEMBLY Then
assemblyDoc.init swModel
ElseIf swModel.GetType = swDocDRAWING Then
drawingDoc.init swModel
End If
End Sub
Class1 module
Public WithEvents doc As partDoc
Public Function init(ByRef docin As Object)
Set doc = docin
End Function
Private Function doc_UserSelectionPostNotify() As Long
MsgBox "Entity selected in a part document."
End Function
Class2 module
Public WithEvents doc As assemblyDoc
Public Function init(ByRef docin As Object)
Set doc = docin
End Function
Private Function doc_UserSelectionPostNotify() As Long
MsgBox "Entity selected in an assembly document."
End Function
Class3 module
Public WithEvents doc As drawingDoc
Public Function init(ByRef docin As Object)
Set doc = docin
End Function
Private Function doc_UserSelectionPostNotify() As Long
MsgBox "Entity selected in a drawing document."
End Function