In this file I have some test procedure which traverse through all the nodes of worksheet.hyperlinks (i.e. findfirst, findsuccessor ...)
The Hyperlinks already have an enumerator in the WorkSheet, like all cell-based lists (Cells, Hyperlinks, Comments, MergedCells); there's no need to dive into the AVLTree:
var
hyperlink: TsHyperlink;
comment: TsComment;
...
for hyperlink in Worksheet.Hyperlinks do ...
for comment in Worksheet.Comments do ...
I notice that the link formula does not get the correct value if it only refers to single cell in another sheet eg. Sheet2!A1 .However Sheet2!A1+0 works! (see attached screen shot);
Should be fixes along with some other bugs in the current svn version. Now fpspreadsheet can also read xls files (Excel 8 only) with 3d-formulas.
It would be nice if the formula can automatically update if the position of the linked cells changed. As it is now the linked formula would remains if we insert or delete row/col in the reference sheet. Perhaps to implement such feature would take time ?
Updating of links when rows/columns are inserted/deleted is already contained, however, operates only on the active sheet. But I think it should be feasible to adjust the routine for any other sheet.
But let me finish the file-related stuff first, i.e. reader/writer for xls/Excel 5, support of 3d cell ranges (Sheet1!A1:B3, Sheet1!A1:Sheet2!B3).
Mo