收听OfficeJS中的段落事件(Office加载项平台)

时间:2017-10-31 14:57:58

标签: ms-word office-addins

我正在使用Office Add-ins的JavaScript API并尝试将函数附加到每当添加新段落时触发的事件(最终也会删除/修改段落)。

我可以迭代并打印文档中的所有段落,如下所示:

Word.run( context => {
  var paragraphs = context.document.body.paragraphs;
  context.load(paragraphs, 'text');     
  return context.sync().then( () => {
    for (var i = 0; i < paragraphs.items.length; i++) {
      console.log(paragraphs.items[i].text);
    }
  });
});

我想要做的是听新段落并根据它做一个动作。我发现EventType.NodeInserted但我不确定如何将它用于文档的所有段落。理想情况下,我希望得到以下内容:

Office.context.document.addHandlerAsync(Office.EventType.NodeInserted, 
  function (paragraphEvent) {
    // do something useful with new paragraph
});

我查看了所有文档,但我是API的新手,所以我很难理解如何将事件绑定到任何新段落(在整个文档中,而不是在特定部分中)。

1 个答案:

答案 0 :(得分:1)

没有事件可以检测文档中的段落更改。当将新节点添加到自定义XML部件时,将使用eventType.NodeInserted。

此时您唯一的选择是轮询文档并推断更改,或者如果您对文档的特定部分感兴趣,则可以创建绑定并订阅binding.dataChanged事件并推断增量。

希望这会有所帮助...... 涓。