Fire Notification When Changing a Table in a Drawing Document Example (VBA)
This example shows how to fire a notification when a table is changed in a
drawing document:
Main module
'---------------------------------------------------------------
' Preconditions:
' 1. Open a drawing document.
' 2. Select Insert > Tables > Bill of Materials.
' 3. Click the green check mark on the Bill of
Materials PropertyManager page.
' 4. Run this macro (press F5).
' 5. Select a column.
' 6. Right-click and select Delete > Column.
'
' Postconditions:
' 1. The column is deleted.
' 2. A message box informs you that a table was modified.
' 3. Click OK to close the message box.
'---------------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim errorstatus As Long, warningstatus As Long
Dim swDrawEvents As Class1
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
'Set up events
Set swDraw = swModel
Set swDrawEvents = New Class1
Set swDrawEvents.swDraw = swApp.ActiveDoc
End Sub
Class module
Option Explicit
Public WithEvents swDraw As SldWorks.DrawingDoc
Private Function swDraw_ModifyTableNotify(ByVal
TableAnnotation As SldWorks.ITableAnnotation, ByVal TableType As Long, ByVal
reason As Long, ByVal RowInfo As Long, ByVal ColumnInfo As Long, ByVal DataInfo
As String) As Long
MsgBox "A table was modified. Title: " & TableAnnotation.Title & ", Type: " &
TableType & ", Reason code: " & reason & ", RowInfo: " & RowInfo & ", ColumnInfo:
" & ColumnInfo & ", DataInfo: " & DataInfo
End Function