很棒的问题,对于初学者我很想知道你期望在API中控制的程度,我想知道你是否可以分享更多关于潜在差距的细节(提前谢谢!) .
现在,回答你的问题:绝对!我们通过OOXML打开门来与文档进行交互 . 这是一个非常强大的工具,虽然可能很复杂(但似乎你对WordML很了解)并且它可能很慢,特别是在Win32或Mac以外的平台上(Word Online XML注入是sloooooooow) .
实现你需要的关键是你得到一个范围(我需要一个更详细的标准,你提到的“提取文档的部分”,但在一天结束时它是关于获得一个范围) . 一旦你拥有它,你实际上可以做一个range.insertOoxml(“你的OOXML”,“替换”)来用你拥有的任何OOXML替换该范围 .
您可以通过API中的多种不同方式获得范围 . 例如,搜索方法返回范围的集合 . 所有对象都有一个.getRange()方法,您可以使用它 .
以下示例使用给定的OOXML替换文档中第一个段落的第一个单词 .
Word.run(function (ctx) {
var myTempOOXML = "get some valid OOXML!"
ctx.document.body.paragraphs.getFirst().split([" "],false,false,false).getFirst().insertOoxml(myTempOOXML, "replace");
return ctx.sync();
}).catch(function (e) { app.showNotification(e.message)})