MS Word - Разрешить кнопки «Принять / Отклонить» в защищенном документе - PullRequest
0 голосов
/ 04 июня 2019

Нам нужна возможность принудительного ограничения редактирования отдельных разделов только в документе MS Word - при этом пользователи могут принимать отклонения изменений

В настоящее время мы используем метод aspose Words document.protect () с ProtectionType как «ALLOW_ONLY_FORM_FIELDS», документ защищен, и мы можем блокировать / ограничивать разделы для редактирования. Однако это также приводит к тому, что кнопки «Принять / Отклонить» для отслеживания изменений на вкладке «Просмотр» в MS Word становятся отключенными - это ограничивает пользователей от принятия / отклонения изменений даже в разделе, который позволяет редактировать. Что касается бизнес-функциональности, нам нужно, чтобы эти параметры (принять / отклонить) были включены для нашей функциональности.

Может кто-нибудь предложить, если есть какой-либо способ для достижения вышеизложенного? (Подводя итог: необходимо, чтобы была включена кнопка «Принять / отклонить», при этом редактирование разрешено только в определенных разделах / абзацах документа)

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Приложение Word просто не поддерживает это в защищенном документе.Защита в виде формы блокирует все возможности рецензирования;защита для редактирования (wdAllowOnlyReading) позволяет пользователю перемещаться между изменениями, но не позволяет принимать / отклонять.

Единственный способ сделать это возможным - включить код, прикрепленный к ленте, и / или сочетание клавиш, которое проверяет, содержит ли текущий выбор ревизию.Если да, документ незащищен, редакция принята (или отклонена), то документ защищен.Следующий пример кода иллюстрирует этот подход.

Я не могу сказать вам, как или можно ли использовать ленту, сочетания клавиш или код VBA при работе с Aspose.Если 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
0 голосов
/ 04 июня 2019

Обратите внимание, что Aspose.Words имитирует поведение MS Word, и приложение MS Word не поддерживает его, когда документ защищен.

Я работаю с Aspose в качестве разработчика Evangelist.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...