我正在使用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的新手,所以我很难理解如何将事件绑定到任何新段落(在整个文档中,而不是在特定部分中)。
答案 0 :(得分:1)
没有事件可以检测文档中的段落更改。当将新节点添加到自定义XML部件时,将使用eventType.NodeInserted。
此时您唯一的选择是轮询文档并推断更改,或者如果您对文档的特定部分感兴趣,则可以创建绑定并订阅binding.dataChanged事件并推断增量。
希望这会有所帮助...... 涓。