vba - '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:"
解决方案
我可以重现您所描述的内容,Range
以及Selection
对象。我不知道“为什么”;就对象模型而言,这毫无意义。有时,奇怪的事情发生在Selection
,但它也发生在Range
......
我将其归类为错误,但我没有得到 Microsoft 的任何确认。
这虽然有效
For ftCounter = 1 To rng.Footnotes.Count
Set ft = rng.Footnotes(ftCounter)
'Debug.Print ft.Range.Text
Next
推荐阅读
- spring-boot - Apache骆驼过滤器并发送到不同的路线
- assembly - 如何用Arm的汇编指令计算文件的大小
- laravel - 无法在 Laravel 应用程序中为 html2pdf 设置字体
- android - Android JobScheduler 未在 Vivo 手机上运行期间任务
- javascript - 如何在javascript中将两个数组与新属性合并
- php - 在 laravel 中无法使用 remember_token 如何设置 remember_token 和 cookie?
- android - Android Studio: Layout incomprehensibly positioned
- java - getter 和 setter 的问题
- hadoop - Hadoop HDFS 如何决定将哪些数据放入每个块中?
- mysql - 如何创建函数过滤 PostgreSQL 到 MySQL?