VSTO Word Office Interop:查找对书签的引用
VSTO Word Office Interop: Find References to Bookmark
给定包含 Bookmark
的 Word 选区 - 例如像这样的标题(在 SelectionChange
事件中):
var selectionWithBookmark = e.Selection.Bookmarks.Cast<dynamic>().Select(b => b.Range as Range).FirstOrDefault();
如何在文档中找到引用此书签的所有 cross-references(即 Type == WdFieldType.wdFieldRef
)?
我不仅要查找 Field
本身,还要查找包含这些字段的段落。
寻找 C# 或 VB 的答案。
我可以 loop/iterate 文档中的所有引用,但是无法 link 它们到书签(除了 Code
属性 - 但是根据我所见,书签上实际上并不存在 REF 编号)。它缺少的是某种形式的 Target
属性,我可以将其与书签本身进行比较。
问题中的以下陈述让我想知道...
the REF number doesn't actually exist on the bookmark either from what
I can see.
书签 name 应包含 REF 编号,但它前面会有一个下划线 _,因此默认情况下该名称不会显示在 UI 中.
在“书签”对话框中有一个小复选框 "Hidden bookmarks":单击它两三下,应显示一个列表,如下面的屏幕截图所示。
Debug.Print(bookmark.Name)
也应该显示这个。
知道书签名称后,应该不难找到相应的 REF
字段。
给定包含 Bookmark
的 Word 选区 - 例如像这样的标题(在 SelectionChange
事件中):
var selectionWithBookmark = e.Selection.Bookmarks.Cast<dynamic>().Select(b => b.Range as Range).FirstOrDefault();
如何在文档中找到引用此书签的所有 cross-references(即 Type == WdFieldType.wdFieldRef
)?
我不仅要查找 Field
本身,还要查找包含这些字段的段落。
寻找 C# 或 VB 的答案。
我可以 loop/iterate 文档中的所有引用,但是无法 link 它们到书签(除了 Code
属性 - 但是根据我所见,书签上实际上并不存在 REF 编号)。它缺少的是某种形式的 Target
属性,我可以将其与书签本身进行比较。
问题中的以下陈述让我想知道...
the REF number doesn't actually exist on the bookmark either from what I can see.
书签 name 应包含 REF 编号,但它前面会有一个下划线 _,因此默认情况下该名称不会显示在 UI 中.
在“书签”对话框中有一个小复选框 "Hidden bookmarks":单击它两三下,应显示一个列表,如下面的屏幕截图所示。
Debug.Print(bookmark.Name)
也应该显示这个。
知道书签名称后,应该不难找到相应的 REF
字段。