Anyone use the new sorting function in 2012?

I've been trying to get the example from the help files to work and I keep getting an error that my limited skill set cannot figure out.  Any thoughts?  I'm trying to sort a BOM table on a drawing that was created in 2011 but updated with 2012.

Here's the code from the example:

'This example shows how to sort bill of materials, hole, general, and weldment cut list tables.

'---------------------------------------------------------------------------
' Preconditions:
' 1. Open a drawing with one of the following tables:
'    * General
'    * Hole chart
'    * Weldment cut list
'    * Bill of materials parts-only table that
'      contains four columns: Item No, Part Number, Description, and Qty.
' 2. Click the move-table icon in the upper-left corner
'    of the table in the view.
'    The PropertyManager opens on the table.
' 3. If the table is a BOM table, ensure that
'    PropertyManager > Item Numbers > Follow assembly order is not selected.
'
' Postconditions:
' 1. Inspect the Immediate Window.
' 2. The tables are sorted as follows:
'    * If it is a BOM table:
'      * Primary sort is on column three (Qty).
'      * Secondary sort is on column one (Part Number).
'      * There is no tertiary sort.
'      * All column sorts are ascending.
'      * Rows are sorted into categories in the following order:
'          1. Parts
'          2. User-defined
'    * If it is a general table, the sort is descending on the first column.
'    * If it is a hole table, the sort is ascending on the Tag column.
'    * If it is a weldment cut list table, the sort is descending on the third
'      column.
' --------------------------------------------------------------------------
Dim swApp As SldWorks.SldWorks
Dim swModDoc As SldWorks.IModelDoc2
Dim swTable As SldWorks.ITableAnnotation

Option Explicit

Public Sub Main()
    Set swApp = Application.SldWorks
    GetSelTable
    SortSelTable
End Sub

Public Sub GetSelTable()
    Set swModDoc = swApp.ActiveDoc
    Dim swSM As ISelectionMgr
    Set swSM = swModDoc.SelectionManager
    Set swTable = swSM.GetSelectedObject6(1, -1)
    swModDoc.ClearSelection2 (True)
End Sub

Public Sub SortSelTable()

    Dim tableType As swTableAnnotationType_e
    tableType = swTable.Type
    Dim status As Boolean
    Select Case tableType
        Case swTableAnnotationType_e.swTableAnnotation_General
            status = SortGeneralTable()
            End
        Case swTableAnnotationType_e.swTableAnnotation_HoleChart
            status = SortHoleChartTable()
            End
        Case swTableAnnotationType_e.swTableAnnotation_WeldmentCutList
            status = SortWeldmentCutlistTable()
            End
        Case swTableAnnotationType_e.swTableAnnotation_BillOfMaterials
            status = SortBOMTable()
            End
        Case Else
            Debug.Print ("Unspecified table type selected.")
            End
    End Select

End Sub

Public Function SortGeneralTable() As Boolean
    Debug.Print ("Table type selected: swTableAnnotation_General")
    Dim swSpecTable As IGeneralTableAnnotation
    swSpecTable = swTable
    Dim status As Boolean
    status = swSpecTable.Sort(0, False) 'sort descending

End Function

Public Function SortHoleChartTable() As Boolean
    Debug.Print ("Table type selected: swTableAnnotation_HoleChart")
    Dim swSpecTable As IHoleTableAnnotation
    Set swSpecTable = swTable
    Dim status As Boolean
    status = swSpecTable.Sort(0, True) 'sort ascending
End Function

Public Function SortWeldmentCutlistTable() As Boolean
    Debug.Print ("Table type selected: swTableAnnotation_WeldmentCutList")
    Dim swSpecTable As IWeldmentCutListAnnotation
    Set swSpecTable = swTable
    Dim status As Boolean
    status = swSpecTable.Sort(2, False) 'sort descending
End Function

Public Function SortBOMTable() As Boolean
    Debug.Print ("Table type selected: swTableAnnotation_BillOfMaterials")
    Dim swSpecTable As IBomTableAnnotation
    Set swSpecTable = swTable
    Dim swSortData As BomTableSortData

    Set swSortData = swSpecTable.GetBomTableSortData

    ' Specify the sort order indexes for three columns in the table
    ' Specify the direction of sort for the three sort order indexes
    swSortData.ColumnIndex(0) = 3  ' primary sort
    swSortData.Ascending(0) = True ' sort ascending
    swSortData.ColumnIndex(1) = 1  ' secondary sort
    swSortData.Ascending(1) = True ' sort ascending
    swSortData.ColumnIndex(2) = -1 ' no tertiary sort

    Dim pos1 As Integer
    pos1 = swSortData.ColumnIndex(0)
    Debug.Print ("Column for primary sort is " & pos1) ' should be 3
    Dim pos2 As Integer
    pos2 = swSortData.ColumnIndex(1)
    Debug.Print ("Column for secondary sort is " & pos2) ' should be 1
    Dim pos3 As Integer
    pos3 = swSortData.ColumnIndex(2)
    Debug.Print ("Column for tertiary sort is " & pos3) ' should be -1

    Dim listGrpArray(2) As Integer
    Dim bWantGrp As Boolean
    bWantGrp = True

    If bWantGrp Then
        ' Sort rows into part and user-defined categories
        listGrpArray(0) = swBomTableSortItemGroup_None
        listGrpArray(1) = swBomTableSortItemGroup_Parts
        listGrpArray(2) = swBomTableSortItemGroup_Other
    End If

    swSortData.ItemGroups = listGrpArray

    ' After sorting, do not re-number the items
    swSortData.DoNotChangeItemNumber = True

    Dim status As Boolean
    status = swSpecTable.Sort(swSortData)
    Debug.Print ("BOM table sorted: " & status)

End Function

Here's the drawing.

SolidworksSolidworks 2012 Beta