I made a form that should help in adding a table of contents to a schematic. It has a few major sections.
To run the script, first select the "Read Design" button,
While this is running, the script will first read and store your printorder property on each border. Then it will switch the page numbering scheme to in-depth and update the printorder and record it. Then it will switch the page numbering scheme to vertical and update and record printorder. Lastly it will revert to your initial page numbering scheme and restore your initial printorder. You will see the settings menu flash a few times while this is running.
Once the the design is read you should see sheets and page numbers in the box. You can use the radio buttons to sort on the different numbering schemes. If you are a user of SCOUT, the "Generate Page Order File for SCOUT" button will create a page order file to be referenced by the SCOUT cross reference tool.
The next section of the form will take the information the the generated report and add it to the first page of the schematic.
It is just duplicating the text in the report's list box and drawing boxes in the schematic. I haven't come up with a smart way to detect collisions with other objects or to delete the preexisting table of contents.
I hope it helps.