AnsweredAssumed Answered

Macro Example from API Help

Question asked by JOHN GEORGE on Dec 22, 2014
Latest reply on Dec 22, 2014 by JOHN GEORGE

This is an example macro from API help (Fire event after selection)

I am not able to run this

Is there anything wrong with this code

Someone please help

 

'------------------------------------
' 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

Outcomes