Как определить ячейку таблицы, к которой относится закладка, с помощью Office.Interop - PullRequest
1 голос
/ 22 октября 2009

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

Ответы [ 2 ]

1 голос
/ 07 марта 2011

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

// 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;
1 голос
/ 10 ноября 2009

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

...