'selection.footnotes.count' 对比 'for each footnote in selection.footnotes'

'selection.footnotes.count' versus 'for each footnote in selection.footnotes'

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

例如:在Word中输入若干行,每行插入一些脚注,select其中一行和运行这段代码可以看出区别。 有谁知道我使用 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:"

我可以使用 RangeSelection 对象重现您描述的内容。我不知道"why";就对象模型而言,这毫无意义。有时,Selection 会发生奇怪的事情,但 Range...

也会发生这种情况

我 class 它是一个错误,但我没有从 Microsoft 得到任何确认。

尽管如此

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