我正在使用 Office JS 开发一个 Word 插件,用户可以在其中决定从远程服务器 API 打开文档。在这种情况下,我需要从服务器 API 接收文件并在 Word 中打开它。
目前,我正在发出 HTTP 请求,以从远程服务器获取以 Base64 编码的文档内容。
然后我正在使用:
var body = context.document.body;
body.insertFileFromBase64 (fileData, Word.InsertLocation.replace);
// (where fileData is the Base64 content)
这可行(文档实际上已打开),但我不太喜欢它,因为它替换了当前文档的内容,而不是打开一个新文档。
有没有办法让 Word 将文档作为新文档打开,而不是替换现有文档的内容?
我在上面描述了我的用例,以便您也可以提出更好的解决方案。
最佳答案
有一个处于预览版的 API,您可以使用它。这是一个代码片段: (请注意,createDocument 需要一个可选参数,即一个 base64 编码的 docx)如果提供了该参数,则打开的文档将包含它。
为了测试 API,请确保使用此处提供的 Office.js 预览版 CDN https://appsforoffice.microsoft.com/lib/beta/hosted/office.js
并且您有 Office 的全新更新。
这是代码:
Word.run(function (context) {
context.application.createDocument().open(); // optionally on createDocument send a base-64 docx.
return context.sync();
})
关于ms-office - Word Addin - 如何将文件作为新文档打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44815429/