获取字段书签

本文关键字:书签 字段 获取 | 更新日期: 2023-09-27 18:25:56

我正在控制台应用程序中使用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
           }

获取字段书签

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;