【问题标题】:MS Word - Allow Accept/Reject buttons in Protected DocumentMS Word - 允许受保护文档中的接受/拒绝按钮
【发布时间】:2019-06-04 07:08:11
【问题描述】:
我们需要强制限制编辑 MS Word 文档中的特定部分 - 同时允许用户接受拒绝更改
我们目前正在使用 aspose Words 方法 document.protect(),ProtectionType 为“ALLOW_ONLY_FORM_FIELDS”,文档受到保护,我们能够锁定/限制部分进行编辑。但是,这也会导致 MS Word 的“审阅”选项卡中用于跟踪更改的接受/拒绝按钮被禁用 - 这会限制用户接受/拒绝更改,即使在允许编辑的部分也是如此。根据业务功能,我们需要这些选项(接受/拒绝)来启用我们的功能。
任何人都可以建议是否有任何方法可以实现上述目标? (总而言之:需要启用“接受/拒绝”按钮,同时只允许在文档的特定部分/段落中进行编辑)
【问题讨论】:
标签:
ms-word
aspose
aspose.words
【解决方案1】:
Word 应用程序在受保护的文档中根本不支持这一点。作为一种形式的保护锁定了所有的审查能力;保护编辑 (wdAllowOnlyReading) 允许用户在更改之间移动,但不允许接受/拒绝。
使这成为可能的唯一方法是包含附加到功能区的代码和/或检查当前选择是否包含修订的键盘快捷键。如果是,则文档不受保护,接受(或拒绝)修订,然后重新保护文档。以下示例代码说明了该方法。
我无法告诉您在使用 Aspose 时如何或是否可以包含功能区、键盘快捷键或 VBA 代码。如果 Aspose 可以从现有文件(模板,dotm 或 docm)创建新文档,那么这些可以包含在其中。
Sub AcceptRevisionInLockedDoc()
Dim doc As Word.Document
Dim rng As Word.Range
Set doc = ActiveDocument
Set rng = Selection.Range
If rng.Revisions.Count > 0 Then
If doc.ProtectionType = wdAllowOnlyFormFields Then 'wdAllowOnlyReading Then '
doc.Unprotect
rng.Revisions(1).Accept
doc.Protect wdAllowOnlyFormFields, True ' wdAllowOnlyReading
End If
End If
End Sub
【解决方案2】:
请注意,Aspose.Words 模仿 MS Word 的行为,当文档受到保护时,MS Word 应用程序不支持它。
我与 Aspose 合作,担任开发人员宣传员。