首页 > 解决方案 > 请求的对象不可用

问题描述

我正在尝试在 Mac Word 文档上运行以下宏:

Sub AcceptDeletion()
    Dim oChange As Revision
    For Each oChange In ActiveDocument.Revisions
        With oChange
            If .Type = wdRevisionDelete Then
                .Accept
            End If
        End With
    Next oChange
End Sub

它发布在这个问题中:Microsoft Word VBA 脚本接受所有删除?

它清除了几个已删除的修订版,但在这里失败了:

If .Type = wdRevisionDelete Then

...带有“请求的对象不可用”运行时错误 (5852)。

知道如何解决吗?我尝试添加 isMissing / IsError 或将 Nothing 作为安全措施进行比较,但没有成功。

标签: vbamacosms-word

解决方案


在@GSerg 回答之后,我按如下方式修改了脚本并且它可以工作:

Sub AcceptDeletions()
    Dim oChange As Revision
    For i = ActiveDocument.Revisions.Count To 1 Step -1
        If ActiveDocument.Revisions(i).Type = wdRevisionDelete Then
            ActiveDocument.Revisions(i).Accept
        End If
    Next i
End Sub

推荐阅读