【发布时间】:2022-01-04 11:25:38
【问题描述】:
我有一个包含 4000 多个尾注的 *.docx 文件。我的任务是将每个段落中的尾注(有 3 个或更多尾注)合并为一个大尾注。
例如。
输入:
单词单词{1}单词{2}单词单词{3}单词。
尾注:
{1} 尾注
{2} 尾注
{3} 尾注
输出:
单词单词单词单词单词{1}。
尾注:
{1} 尾注;尾注;尾注
所以我将有一个大的尾注而不是几个小的尾注。 我尝试过的:
Sub Macro1()
Dim i As Integer
Dim t As String
Dim tmp As String
tmp = ""
For i = 1 To Selection.Endnotes.Count Step 1
t = Selection.Endnotes(i).Range.Text
If tmp = "" Then
tmp = Selection.Endnotes(i).Range.Text
Else
tmp = tmp & "; " & Selection.Endnotes(i).Range.Text
End If
Next i
For i = Selection.Endnotes.Count To 1 Step -1
Selection.Endnotes(i).Delete
Next i
Selection.Expand wdParagraph
ActiveDocument.Endnotes.Add Range:=Selection.Range, Text:=tmp
End Sub
它可以工作,但用户必须手动选择正确的段落。我不知道如何自动执行此过程 - 查找包含 3 个以上尾注的错误段落并将上面的代码应用于这些段落。 ActiveDocument.Paragraphs 项没有 Endnotes 属性。 请帮忙)
【问题讨论】:
-
您为什么不使用 Intellisense、对象浏览器或在线帮助? VBE 内置的那些工具应该是您的第一个研究来源。他们会告诉你,虽然
ActiveDocument.Paragraphs可能没有尾注集合,但ActiveDocument.Paragraphs(n).Range有。 -
@TimothyRylatt 谢谢!我当然使用它,但我找不到这个属性。