首页 > 解决方案 > MS Word - 允许受保护文档中的接受/拒绝按钮

问题描述

我们需要能够强制限制仅在 MS Word 文档中编辑特定部分 - 同时允许用户接受拒绝更改

我们目前正在使用 aspose Words 方法 document.protect(),ProtectionType 为“ALLOW_ONLY_FORM_FIELDS”,文档得到保护,我们可以锁定/限制部分进行编辑。但是,这也会导致 MS Word 的“审阅”选项卡中用于跟踪更改的接受/拒绝按钮被禁用 - 这会限制用户接受/拒绝更改,即使在允许编辑的部分也是如此。根据业务功能,我们需要这些选项(接受/拒绝)来启用我们的功能。

任何人都可以建议是否有任何方法可以实现上述目标?(总而言之:需要启用“接受/拒绝”按钮,同时仅允许在文档中的特定部分/段落中进行编辑)

标签: ms-wordasposeaspose.words

解决方案


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

推荐阅读