【问题标题】: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 合作,担任开发人员宣传员。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-11
        • 2016-11-23
        • 1970-01-01
        • 1970-01-01
        • 2018-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多