Get Design Table Example (VBA)
This example shows how to get a design table and its contents.
'---------------------------------------
' Preconditions:
' 1. Part or assembly document is open that
' contains a design table.
' 2. Open the Immediate window.
' 3. Run the macro.
'
' Postconditions: Design table contents are
' printed to the Immediate window.
'----------------------------------------
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDesTable As SldWorks.DesignTable
Dim nTotRow As Long
Dim nTotCol As Long
Dim sRowStr As String
Dim i As Long
Dim j As Long
Dim bRet As Boolean
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set swDesTable = swModel.GetDesignTable
bRet = swDesTable.Attach
Debug.Assert bRet
nTotRow = swDesTable.GetTotalRowCount
nTotCol = swDesTable.GetTotalColumnCount
Debug.Print "File = " & swModel.GetPathName
Debug.Print " Title = " & swDesTable.GetTitle
Debug.Print " Row = " & swDesTable.GetRowCount
Debug.Print " Col = " & swDesTable.GetColumnCount
Debug.Print " TotRow = " & nTotRow
Debug.Print " TotCol = " & nTotCol
Debug.Print " VisRow = " & swDesTable.GetVisibleRowCount
Debug.Print " VisCol = " & swDesTable.GetVisibleColumnCount
Debug.Print ""
For i = 0 To nTotRow
sRowStr = " |"
For j = 0 To nTotCol
sRowStr = sRowStr + swDesTable.GetEntryText(i, j) + "|"
Next j
Debug.Print sRowStr
Next i
swDesTable.Detach
End Sub