删除Wordfile的所有注释

时间:2020-06-01 15:50:33

标签: excel vba ms-word comments

所以我试图按照Excelfile的VBA代码删除Wordfile中的所有注释。

我尝试使用

'Dim ObjWord as Word.Application
ObjWord.ActiveDocument.DeleteAllComments

并致电

Sub RemoveAllComments(Doc As Document)
    Dim n As Long
    Dim oComments As Comments
    Set oComments = Doc.Comments
    For n = oComments.Count To 1 Step -1
    oComments(n).Delete
    Next
    Set oComments = Nothing
End Sub

但是第一个给我运行时“错误4605命令不可用”,第二个代码段抛出“错误438对象不支持此属性或方法”。

还有其他方法可以做到吗?

编辑1:

Dim ObjWord As Word.Application
Set ObjWord = LoadWord()
ObjWord.Visible = True

在函数中,它调用LoadWord():

Function LoadWord() As Word.Application 
    Set LoadWord = GetObject(, "Word.Application")
    If MsgBox("Word's already in use klick ok to dismiss all changes", vbOKCancel) = vbCancel Then
        Set LoadWord = Nothing
    End If
    Exit Function
End Function

1 个答案:

答案 0 :(得分:0)

错误4605:

ObjWord.ActiveDocument.DeleteAllComments

表示ActiveDocument(如果有)不包含任何注释。由于您尚未发布任何有关如何实例化ActiveDocument(或第二个子文档中的Doc)的代码,或者是否已确定有关文档甚至包含任何注释,因此无法就此提供进一步的建议

此外,这个:

Sub RemoveAllComments(Doc As Document)

将无效。至少必须是:

Sub RemoveAllComments(Doc As ObjWord.Document)

对于第一个示例,这种情况可以通过以下任何一种补救措施解决:

On Error Resume Next
ObjWord.ActiveDocument.DeleteAllComments
On Error Goto 0