4

我在控制台应用程序中使用 Microsoft.Office.Interop.Word 命名空间从 MSWord 文档中获取表单数据。在这个 MSWord 文档中,每个字段都分配了一个书签,我将其用作 id。

我希望能够检索其书签字段的值并将其存储在字典中。我只能获取每个字段的值,但不能获取书签和字段。

有没有办法我可以做类似 wdField.Result.Bookmark 来获取字段的书签?我查看了MSDN 文档,但很难做到这一点。这是我正在枚举的 foreach 循环:

     foreach (Field wdField in oWordDoc.Fields)
           {
             wdField.Select(); 
             string fieldText = wdField.Result.Text
             Console.WriteLine(fieldText);   
             //string fieldBookMark = wdField.Result.BookMark
           }
4

1 回答 1

5

KazJaw 是对的:如果您已将所有目标文本“添加为书签”,则可以仅依靠BookMarks. 示例代码:

foreach (Bookmark bookMark in oWordDoc.Bookmarks)
{
    string bmName = bookMark.Name;
    Range bmRange = bookMark.Range;
    string bmText = bmRange.Text;
}

或者:

Range bmRange = oWordDoc.Bookmarks["bookmark name"].Range;
于 2013-08-01T09:17:01.793 回答