Как определить ячейку таблицы, к которой принадлежит закладка, с помощью Office.Interop

Я создаю приложение на С#. Это приложение должно создать документ MS Word из шаблона. Этот шаблон содержит таблицу и закладку, хранящуюся в одной из ячеек таблицы. Мне нужно сослаться на эту ячейку, т.е. мне нужно определить ее строку и столбец.


person Boris    schedule 22.10.2009    source источник


Ответы (2)


Что ж, это оказалось довольно неприятно. Однако я придумал небольшую хитрость: закладки никак не связаны с ячейками таблицы. Нет возможности определить ячейку по закладке. Однако возможно установить значение в отмеченной закладкой позиции, а затем выполнить итерацию по ячейкам таблицы в поисках этого значения. Как только значение найдено, мы можем сослаться на ячейку и при необходимости удалить это значение. Итак, значение (temp) служит посредником между закладкой и ячейкой. Аккуратный!

person Boris    schedule 10.11.2009

Мой первый пост (пожалуйста, будьте нежны). Впрочем, как насчет этого:

// at this point objWordApp should be an instance of word with the document open<br>
object objBookmarkName = "mybookmark";<br>
object objGotoBookmark = Word.WdGoToItem.wdGoToBookmark;<br>
Word.Table objTable;<br>
Word.Range objRange;<br>
objTable = objWordApp.ActiveDocument.GoTo(ref objGotoBookmark, ref objMissing, ref objMissing, ref objBookmarkName).Tables.Item(1);<br>
objWordApp.Selection.GoTo(ref objGotoBookmark, ref objMissing, ref objMissing, ref objBookmarkName);

int intRow = objRange.Cells.Item(1).RowIndex;<br>int intCol = objRange.Cells.Item(1).ColumnIndex;
person BarkisBittern    schedule 07.03.2011