2017-10-31 8 views
0

JavaScript APIをOffice Add-insに使用していて、新しい段落が追加されるたびに発生するイベントに関数をアタッチしようとしています(最終的に段落の削除/変更する)。私は、反復処理などのように、ドキュメント内のすべての段落を印刷することができOfficeJS(Officeアドインプラットフォーム)の段落イベントを聞きます

:私は何をしたいか

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

文書内の段落の変更を検出するイベントはありません。 eventType.NodeInsertedは、新規ノードがカスタムXMLパーツに追加されたときに使用されます。

ドキュメントをポーリングして変更を推論するオプションは、ドキュメントの特定のセクションに関心がある場合は、バインディングを作成してbinding.dataChangedイベントに登録し、デルタを推論することができます。

希望がこれに役立ちます... Juan。