Fire Notification When Changing a Table in an Assembly Document Example (VBA)
This example shows how to fire a notification when a table is changed in an
assembly document:
Main module
'---------------------------------------------------------------
' Preconditions:
' 1. Open an assembly 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 swAssem As SldWorks.AssemblyDoc
Dim errorstatus As Long, warningstatus As Long
Dim swAssemEvents As Class1
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
'Set up events
Set swAssem = swModel
Set swAssemEvents = New Class1
Set swAssemEvents.swAssem = swApp.ActiveDoc
End Sub
Class module
Option Explicit
Public WithEvents swAssem As SldWorks.AssemblyDoc
Private Function swAssem_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