The reason for converting the TOC to a table is because the original poster wants a table in a specific format not a TOC.
Guessed, I think this could resolve the issue you mentioned. Just don't delete any field:
Code:
Sub ScratchMacro()
Dim oRng As Range
Dim oTbl As Table
Set oRng = Selection.Fields.Add(Selection.Range, wdFieldTOC).Result
Set oTbl = oRng.ConvertToTable(vbTab)
With oTbl
.Rows.Add BeforeRow:=oTbl.Rows(1)
.Cell(1, 1).Range.Text = "Topic"
.Cell(1, 2).Range.Text = "See Page"
.Columns(2).Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
.Borders.OutsideLineStyle = wdLineStyleSingle
End With
oRng.Select
Selection.Collapse wdCollapseEnd
lbl_Exit:
Exit Sub
End Sub