1

C#でアプリケーションを作成しています。そのアプリケーションは、テンプレートから MS Word ドキュメントを作成する必要があります。そのテンプレートには、テーブルと、テーブルのセルの 1 つに格納されたブックマークが含まれています。そのセルを参照する必要があります。つまり、行と列を特定する必要があります。

4

2 に答える 2

2

うーん、これはかなり面倒なことになりました。ただし、ちょっとしたトリックを思い付きました。ブックマークは表のセルとはまったく関係ありません。ブックマークからセルを特定する方法はありません。ただし、可能なことは、ブックマークされた位置に値を設定し、その値を探してテーブル セルを反復処理することです。値が見つかったら、セルを参照し、必要に応じてその値を削除できます。したがって、(temp) 値は、ブックマークとセルの間のメディエーターとして機能します。きちんとした!

于 2009-11-10T09:09:43.277 に答える
1

初投稿です(お手柔らかにお願いします)。とにかく、これはどうですか:

// 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;
于 2011-03-07T13:23:32.737 に答える