Macro Example from API Help

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

SolidworksApi macros