Это не вопрос,
хотелось поделиться (так как помучился)
в данном примере:
oWord := win_oleCreateObject( "Word.Application" )
oWord:Documents:Add()
oActive := oWord:ActiveDocument()
oMarks := oActive:BookMarks
oText := oWord:Selection()
oWord:Visible := .T.
oWord:ActiveDocument:PageSetup:Orientation := 0
oWord:ActiveDocument:PageSetup:LeftMargin := 72.0
kROW := 10 // кол-во строк в таблице
kCOL := 06 // кол-во столбцов в таблице
oTable := oActive:Tables:Add(oText:Range,kROW,kCOL,1,1)
oTable:AutoFitBehavior(2)
к примеру требуется объединить ячейки с 1,1 по 1,2, также 1,3 по 1,6
первая команда
oTable:Cell(1,1):Merge(oTable:Cell(1,2) - завершится успешно,
но попытка второй команды
oTable:Cell(1,3):Merge(oTable:Cell(1,6) - даст ошибку
"Запрашиваемый номер семейства не существует" решение оказалось, после первой команды объединения 1,1 по 1,2, таблица oTable в 1 строке уже содержит не 6, а 5 колонок
то есть таблица переопределилась, следовательно надо после первой команды уже надо объединять с 1,2 по 1,5 - в итоге мы получим что хотели
итог
oTable:Cell(1,1):Merge(oTable:Cell(1,2) // объединение 1,1 по 1,2
oTable:Cell(1,2):Merge(oTable:Cell(1,5) // объединение 1,3 по 1,6
я правильно понял, или можно по другому ?