Insert Part Number Column in BOM Table Example (VBA)
This example shows how to insert a part number column in a BOM table.
'------------------------------------
'
' Preconditions:
' (1)
Drawing must be open and contain a BOM table
' (2)
BOM table must be selected
'
' Postconditions:
' A
part number column is inserted at the end of the
' existing
the BOM table.
'
'------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim SelMgr As Object
Dim theTableAnnotation As SldWorks.TableAnnotation
Dim SelObjType As Long
Dim TableAnnotationType As Long
Sub DisplayTableColumnProps(theTableAnnotation As Object)
Dim
ColCount As Long
Dim
i As Long
Dim
ColType As swTableColumnTypes_e
Dim
ColTitle As String
Debug.Print
"Index"; vbTab; "Type"; vbTab; "Title"
ColCount
= theTableAnnotation.ColumnCount
For
i = 0 To ColCount - 1
ColType
= theTableAnnotation.GetColumnType(i)
ColTitle
= theTableAnnotation.GetColumnTitle(i)
Debug.Print
i; vbTab; ColType; vbTab; ColTitle
Next
i
End Sub
Sub main()
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
SelMgr = swModel.SelectionManager
SelObjType
= SelMgr.GetSelectedObjectType2(1)
If
SelObjType <> 98 Then 'swSelANNOTATIONTABLES
MsgBox
"You must select a BOM table in the drawing before running this example."
End
End
If
Set
theTableAnnotation = SelMgr.GetSelectedObject5(1)
TableAnnotationType
= theTableAnnotation.Type
If
TableAnnotationType <> 2 Then 'swTableAnnotation_BillOfMaterials
MsgBox
"Select a BOM table in the drawing before running this example."
End
End
If
DisplayTableColumnProps
theTableAnnotation
boolstatus
= theTableAnnotation.InsertColumn(4,
0, "New Column") 'swTableItemInsertPosition_Last = 4
boolstatus
= theTableAnnotation.SetColumnType(theTableAnnotation.ColumnCount
- 1, 201) 'swBomTableColumnType_PartNumber = 201
DisplayTableColumnProps
theTableAnnotation
End Sub