Just a tip...
Be careful using a 'For Each...Next' type of loop, with a separate Index counter, if that Index is important. When iterating through a collection that way, the order of that iteration is not guaranteed. If Index is important, then you should use a 'For i = # to #...Next' type of loop. That ensures that the items will be encountered in their 'natural' order. In a drawing, the Sheets collection seems to be ordered a bit differently than most types of collections, because the 'sheet number' will always be in the order they are seen in the model browser tree. If you physically drag the first sheet down to the next position after the current sheet 3, it will become Sheet 3 itself, because the original sheet 2 will become sheet 1, and the original sheet 3 will become sheet 2. The first part of the sheet's name will stay the same, but the Index number is managed automatically by Inventor.
Also, you are likely aware of this, but there is a document level revision level (in the standard iProperties), then there is also a sheet level revision level (Sheet.Revision ). However, sheets do not have their own PropertySets, like Documents do. So, if you have a different model file being referenced on each sheet of your drawing, and have the description of that model file in the title block of that sheet, but want that information to be shown in a table cell on the first sheet, it will be relatively complicated to gather that information in the first place, and will likely be 'static' information within the table cell, instead of 'linked'. Because it would require iterating through each TextBox within the sketch, within the definition of each title block, and somehow knowing which TextBox is for which property (because a TextBox does not have a name), and retrieving its 'Text' value.
Wesley Crihfield

(Not an Autodesk Employee)