MS Word 2016:使用 VBA 删除所有受保护的评论
MS Word 2016: Remove all protected comments using VBA
我想在导出的 word 文档 (.docx) 中使用 VBA.
删除所有 protected 评论
评论受到它们所依赖的某种字段的保护(但是无论有没有 VBA,我都找不到删除这种保护的方法)。这些 "fields" 是在从应用程序 (Polarion ALM) 导出时生成的。
我尝试在 Word 宏中执行以下操作来删除受保护的注释:
Sub MakroRemoveComment()
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect Password:=strPassword
End If
ActiveDocument.DeleteAllComments
End Sub
但我得到了以下错误消息:
The method 'DeleteAllComments' for the object 'comment' failed.
我猜这是由于评论字段的保护。
截图:
只是偶然发现了这个问题,为了什么值得代码删除这些元素的保护("Inhaltssteuerelemente" 德语)
Private Sub UnprotectDocument()
Set doc = ActiveDocument
' Unprotect the document
If doc.ProtectionType <> wdNoProtection Then
doc.Unprotect
doc.Protect Type:=wdNoProtection
End If
' Remove lock from Inhaltssteuerelementen --> Wiki Content
' Iterate through all the content controls in the document
' and remove locks
Dim cc As ContentControl
If doc.ContentControls.Count <> 0 Then
For Each cc In doc.ContentControls
cc.LockContentControl = True
cc.LockContents = False
Next
End If
End Sub
我想在导出的 word 文档 (.docx) 中使用 VBA.
删除所有 protected 评论评论受到它们所依赖的某种字段的保护(但是无论有没有 VBA,我都找不到删除这种保护的方法)。这些 "fields" 是在从应用程序 (Polarion ALM) 导出时生成的。
我尝试在 Word 宏中执行以下操作来删除受保护的注释:
Sub MakroRemoveComment()
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect Password:=strPassword
End If
ActiveDocument.DeleteAllComments
End Sub
但我得到了以下错误消息:
The method 'DeleteAllComments' for the object 'comment' failed.
我猜这是由于评论字段的保护。
截图:
只是偶然发现了这个问题,为了什么值得代码删除这些元素的保护("Inhaltssteuerelemente" 德语)
Private Sub UnprotectDocument()
Set doc = ActiveDocument
' Unprotect the document
If doc.ProtectionType <> wdNoProtection Then
doc.Unprotect
doc.Protect Type:=wdNoProtection
End If
' Remove lock from Inhaltssteuerelementen --> Wiki Content
' Iterate through all the content controls in the document
' and remove locks
Dim cc As ContentControl
If doc.ContentControls.Count <> 0 Then
For Each cc In doc.ContentControls
cc.LockContentControl = True
cc.LockContents = False
Next
End If
End Sub