所以我试图按照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
答案 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