MS Word-受保护文档中的允许接受/拒绝按钮

时间:2019-06-04 07:08:11

标签: ms-word aspose aspose.words

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

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:-1)

请注意,Aspose.Words模仿MS Word的行为,并且在文档受保护时MS Word应用程序不支持它。

我与Aspose一起担任开发人员推广人员。