我在控制台应用程序中使用Microsoft.Office.Interop.Word命名空间从MSWord文档获取表单数据。在这个MSWord doc中,每个字段都分配了一个书签,我将其用作id。
我希望能够检索字段的值,并将其存储在字典中。我只能获取每个字段的值,但不能获取书签和字段。
有没有办法可以像wdField.Result.Bookmark那样获取字段的书签?我查看了MSDN documentation,但我很难做到这一点。这是我列举的foreach循环:
foreach (Field wdField in oWordDoc.Fields)
{
wdField.Select();
string fieldText = wdField.Result.Text
Console.WriteLine(fieldText);
//string fieldBookMark = wdField.Result.BookMark
}
答案 0 :(得分:4)
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;