Не могу изменить название документа на рабочем столе с моим дополнением

Я пытаюсь изменить заголовок документа Word с помощью моего дополнения. Заголовок документа является одним из свойств buildin, и я думаю, что я могу просто получить к нему доступ и манипулировать им одной строкой "context.document.properties.title".

Однако это работает только для слов онлайн, но не на рабочем столе. Как я могу решить это?

(() => {
  Office.initialize = (reason) => {
    $(document).ready(() => {
      $('#run').click(run);
      $('#ChangeProf').change(profileChanger);
      $('#updateFields').click(updateFields);
      $('#getImage').click(getImage);
      $('#contentcontrol').click(ContentControlTest);     
    });
  };

 function updateFields() {
    var newTitle = document.getElementById("inputTitle") as HTMLInputElement;
    var newOwner = document.getElementById("inputOwner") as HTMLInputElement;
    var newRevision = document.getElementById("inputRevision") as HTMLInputElement;
    Word.run(async (context) => {
      //console.log(newTitle.value);
      context.document.properties.load("title");
      context.document.properties.title = newTitle.value;
      context.sync().then(function () {//other code});
    }

})();

2 ответа

Пожалуйста, поделитесь фактическим кодом, который вы используете. То, чем вы поделились, не очень помогает нам в этом.

Тем не менее, если я правильно понимаю ваш вопрос, ваш сценарий должен быть покрыт чем-то вроде:

Word.run(context => {
  context.document.properties.title = "My New Title";
  context.sync().then(() => console.log('Done!'));
});

Пожалуйста, попробуйте добавить эту строку чуть выше context.sync:

context.document.properties.title = newTitle.value;
context.document.properties.load("title");
var myTitle = context.document.properties.title;

В методе then ссылка на переменную вместо свойства Office:

console.log(myTitle);

Этот код работает для меня на рабочем столе и Word Online.

Другие вопросы по тегам