Что означает Word.DocumentProperties.security? - PullRequest
1 голос
/ 21 мая 2019

Я разрабатываю надстройку Office для Word и поэтому использую OfficeJ.

У меня есть этот код, который должен выполнять некоторые вещи, если документ Word находится в режиме только для чтения.

Word.run(function (context) {
   var prop = context.document.properties;
   prop.load("*");

   return context.sync().then(function () {
       if (prop.security && prop.security !== 0) {
           // do some stuff
       }
   });
});

Я не понимаю значения prop.security.Я попытался изменить режим документа Word на режим «только для чтения», но значение prop.security не изменяется сразу же, даже после перезагрузки надстройки.Иногда значение prop.security равно 0, другое - 8.

Официальная документация только говорит: Gets the security of the document, но не объясняет значения этихзначения.

Может ли кто-нибудь помочь мне и объяснить, как работает Word.DocumentProperties.security?

1 Ответ

1 голос
/ 21 мая 2019

ОБНОВЛЕНИЕ 3 :

Разработчик в Microsoft нашел официальную документацию.Он является частью стандарта Open Office XML, в частности, элемента DocSecurity: ISO / IEC 29500-1: 2016 (Загрузите zip-файл и поищите в PDF в стороне «DocSecurity».)информация о том, как Microsoft реализовала это здесь: 2.1.1713 Часть 1 Раздел 22.2.2.7, DocSecurity .Эта документация подтверждает, что список в ОБНОВЛЕНИИ 2 ниже является правильным.(Таким образом, игнорируйте «(Вероятно)».) Кроме того, это показывает, что перечисленные 16 значений являются единственно возможными значениями.

ОБНОВЛЕНИЕ 2 :

На основе приведенного ниже комментария ФП, здесь обновленный список значений.Я не смог проверить те, которые помечены как «(вероятно)», но, основываясь на шаблоне, я очень уверен, что они верны.Это не обязательно завершено.Могут быть значения, превышающие 15.

0 = File on disk is read/write
1 = Protect Document: File is encrypted and requires a password to open
2 = Protect Document: Always Open as Read-Only
3 = Protect Document: Both #1 above and #2
4 = File on disk is read only
5 = Both #1 above and #4 above
6 = Both #2 and #4
7 = (Probably) All of #1, #2, and #4
8 = Protect Document: Restrict Edit to read-only
9 = Both #1 and #8
10 = Both #2 and #8
11 = All of #1, #2, and #8
12 = (Probably) Both #4 and #8
13 = (Probably) All of #1, #4, and #8
14 = (Probably) All of #2, #4, and #8
15 = (Probably) All of #1, #2, #4, and #8

ОБНОВЛЕНИЕ : Это не степени 2, и некоторые значения связаны с Защитный документ параметры в меню Файл.Вот значения, которые я смог обнаружить:

0 = File on disk is read/write
1 = Protect Document: File is encrypted and requires a password to open
3 = Protect Document: Both #1 above and #6 below
4 = File on disk is read only
5 = Both #1 above and #4 above
6 = Protect Document: Always Open as Read-Only
8 = ?

Обратите внимание, что некоторые параметры Protect Document отключают Script Lab, поэтому я не могу проверить, имеют ли они значение wdPropertySecurityдумаю , но не проверял, что они заблокируют любую надстройку, поэтому надстройка никогда не вернет эти значения, если они существуют.

enter image description here

ОРИГИНАЛЬНЫЙ ОТВЕТ: Я получил немного информации от разработчика из команды Word.Значение BuiltInDocumentProperties(wdPropertySecurity) относится к свойствам документа как файла на диске .Когда вы устанавливаете режим просмотра только для чтения, вы не меняете доступ к файлу на диске, поэтому значение wdPropertySecurity не должно меняться.Если это было 0, оно должно остаться 0.Разработчик обнаружил значение 0 и 4.Поскольку вы видели 8, похоже, что это степени 2, так что, вероятно, также 2.Вот что сообщает разработчик:

0 = read/write
2 = ?
4 = read only
8 = ?

Я добавлю к этому, если узнаю больше.А пока, можете ли вы предоставить точные шаги, которые приведут к получению 8?

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