我可以将脚本应用于特定部分(例如,结果、结论、参考文献等)而不应用于文档中的其他位置吗?

我可以将脚本应用于特定部分(例如,结果、结论、参考文献等)而不应用于文档中的其他位置吗?

我在一家提供科学论文英文编辑服务的公司工作,我们使用宏来显著加快编辑过程。但是,我们从来不编辑参考文献/参考书目中的任何内容,尽管使用宏来自动执行查找和替换操作,但参考文献中的内容经常会被意外更改。我们使用跟踪更改,所以我正在尝试编写一个宏来拒绝参考文献中的所有更改。

拒绝所有更改的最基本宏是

Sub RejectChanges()

    Selection.Range.Revisions.RejectAll

End Sub

但这显然适用于整个文档。代码的“选择”部分似乎暗示您可以编写仅适用于文本不同部分的代码。这可能吗?

干杯

答案1

尝试这样做。它旨在针对现有文档运行,其中引用可能已意外更改。

Sub ScanRevisions()
    Dim doc As Word.Document
    Dim rng As Word.Range
    Dim eNote As Word.Endnote
    Dim fNote As Word.Footnote
    
    Set doc = ActiveDocument
    Set rng = doc.Content
    
    For Each eNote In doc.Endnotes
        If eNote.Range.Revisions.Count > 0 Then
            eNote.Range.Revisions.RejectAll
        End If
    Next
    For Each fNote In doc.Footnotes
        If fNote.Range.Revisions.Count > 0 Then
            fNote.Range.Revisions.RejectAll
        End If
    Next
    With rng.Find
        .ClearFormatting
        .Format = True
        .Forward = True
        .Style = doc.Styles("Bibliography").NameLocal
        .Text = ""
        .Wrap = wdFindStop
        While .Execute
            If rng.Revisions.Count > 0 Then
                rng.Revisions.RejectAll
            End If
            rng.Collapse Word.WdCollapseDirection.wdCollapseEnd
        Wend
    End With
End Sub

相关内容