Управление меню Office с помощью надстройки - PullRequest
0 голосов
/ 16 марта 2020

Я разработал плагин для управления состоянием включения указанного меню и управления лентой в Office 2016. Файлы

XML имеют следующий формат:

<?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

  <commands>    
    <command idMso="FileSendAsAttachment" enabled="false"/>
    <command idMso="FileEmailAsPdfEmailAttachment" enabled="false"/>
    <command idMso="FileEmailAsXpsEmailAttachment" enabled="false"/>
    <command idMso="FileInternetFax" enabled="false"/>
    ...

  </commands>  

  <ribbon>
  </ribbon>

  <backstage>    
  </backstage>

</customUI>

После установки Надстройка, в зависимости от политики, агенту может потребоваться временно включить определенные меню. Итак, я изменил только свойство enable элемента управления в файле XML и перезапустил Office, но все меню включены. (Однако, когда я заменяю его исходным файлом XML, он снова помечается как отключенный.)

Мой аддин был зарегистрирован через regsvr32.exe, а реестр записан в HKCU. (Windows 64-битный, Office 2016 32-битный.)

У кого-нибудь была подобная проблема? Что вызывает это?

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

использовать utf-16

  <commands>    
    <command idMso="FileSendAsAttachment" enabled="false"/>
    <command idMso="FileEmailAsPdfEmailAttachment" enabled="false"/>
    <command idMso="FileEmailAsXpsEmailAttachment" enabled="false"/>
    <command idMso="FileInternetFax" enabled="false"/>
    ...

  </commands>  

  <ribbon>
  </ribbon>

  <backstage>    
  </backstage>

</customUI>
0 голосов
/ 17 марта 2020

После установки надстройки я изменил файл XML с помощью блокнота. И я обнаружил, что он хранится в кодировке utf-8.

Я заметил, что формат нарушен, потому что спецификация вставлена ​​в первый байт файла XML. Если вы сохраните файл как ANSI, он будет работать нормально.

Надеюсь, вы не совершите ту же ошибку, что и я!

...