首页 > 解决方案 > 'selection.footnotes.count' 与 'for each footnotes in selection.footnotes'

问题描述

我想对 MS Word 文档的选定部分中的脚注进行一些修改。我想使用'for each footnote in selection.footnotes',但这不起作用。它返回文档中的所有脚注。我不明白为什么,因为如果我运行“selection.footnotes.count”,它只会返回所选部分中的脚注,这就是我想要的。请参阅此代码,可用于测试问题。

例如:在 Word 中键入多行,在每行中插入一些脚注,选择其中一行并运行此代码以查看差异。有谁知道我使用For each footnote ... ' 语句有什么问题?

For Each Footnote In Selection.Footnotes
    i = i + 1
Next Footnote
MsgBox "• For ... Next: " & i & Chr(13) & _
"• Count: " & Selection.Footnotes.Count, vbOKOnly, "Number of footnotes in selection, counted using:"

标签: vbams-wordfootnotes

解决方案


我可以重现您所描述的内容,Range以及Selection对象。我不知道“为什么”;就对象模型而言,这毫无意义。有时,奇怪的事情发生在Selection,但它也发生在Range......

我将其归类为错误,但我没有得到 Microsoft 的任何确认。

这虽然有效

For ftCounter = 1 To rng.Footnotes.Count
    Set ft = rng.Footnotes(ftCounter)
    'Debug.Print ft.Range.Text
Next

推荐阅读