无法使用我的插件在桌面上更改文档标题

时间:2018-06-16 20:44:11

标签: office-js office-addins word-addins

我正在尝试使用我的插件修改我的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 个答案:

答案 0 :(得分:0)

请分享您正在使用的实际代码。您所分享的内容并不能为我们提供很多帮助。

那就是说,如果我正确理解你的问题,那么你的情景应该包含在以下内容中:

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

答案 1 :(得分:0)

请尝试在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。