insertOoxml
メソッドを使用して、ワードドキュメント内にコメントを挿入しようとしています。コメントは正常に挿入されます。Word JS APIを使用して挿入されたOOXMLコメントを削除するにはどうすればよいですか?
この手動で挿入されたコメントは、ユーザーの操作の1つに基づいて削除します。たとえば、アドインの機能を別の機能に切り替える場合などです。私は正規表現の一致を使用してOoxml文字列からコメント部分を削除しようとしており、これを機能させるために置き換えます。
Word.run(async(context) => {
let body = context.document.body
let bodyOOXML = body.getOoxml()
await context.sync()
let bodyOOXMLText = bodyOOXML.value
bodyOOXMLText = bodyOOXMLText.replace(/<relationship(.*?)target="comments.xml(.*?)comments">/g, '')
bodyOOXMLText = bodyOOXMLText.replace(/<w:commentRangeStart(.*?)w:commentRangeEnd(.*?)\/>/g, '')
bodyOOXMLText = bodyOOXMLText.replace(/<w:comments(.*?)w:comments>/g, '')
bodyOOXMLText = bodyOOXMLText.replace(/<pkg:part(.*?)comments\+xml(.*?)word\/comments\.xml">(.*?)<\/pkg:part>/g, '')
body.insertOoxml(bodyOOXMLText, Word.InsertLocation.replace)
await context.sync()
})
これはエラーGeneralException
をスローします。私はどこかでXMLオブジェクトを破損していると思うので、確認したいだけです。
a。これは私の問題の正しいアプローチ/回避策ですか?
b。私はここに置き換えるために何が欠けていますか?
c。他に洗練されたソリューションがありますか?