Доброго всем!
Собственно, сабж.
Требуется в таблице ворда перебрать все ячейки последовательно от первой до последней. Именно так, не построчно. Почему? Попробую объяснить:
Суть задачи - есть файл с таблицами - справочник адресов электропочты. В крайних правых ячейках - адрес. В ячейке слева от адреса - адресат. Это всё, что нужно из таблицы вытащить, поэтому прохожу последовательно, считываю, если распознаю адрес - беру пару <предыдущая>+<текущая>. Форматирование таблиц просто конское! Ячейки могут быть объединены во все стороны, поэтому вариант считывать построчно отпадает.
В VBA это решилось так:
Код:
With oTable
For Each Cell In .Range.Cells()
CellStr = Replace(Cell.Range.Text, Chr(7), "")
If (InStr(CellStr, "@") > 0) Then
Str = Replace(Sname, Chr(13), " ") + ";" + Replace(RemoveEnters(CellStr), Chr(13), ", ")
objTF.writeline Str
End If
Sname = CellStr
Next
End With
В Delphi упёрся в метод Range.Cells.
Посоветуйте, куда копать? Обходные пути?