我使用 word javascript api 开发了一个 word 插件。我的文档 .docx 文件在服务器上,我需要通过单击加载项中的按钮将该 .docx 文档作为新的 word 文档打开。
请指导我如何在 word 插件中打开新文档。
谢谢。
我使用 word javascript api 开发了一个 word 插件。我的文档 .docx 文件在服务器上,我需要通过单击加载项中的按钮将该 .docx 文档作为新的 word 文档打开。
请指导我如何在 word 插件中打开新文档。
谢谢。
我们正在向 API 添加一个新方法,您可以实际使用它来实现此目的。请注意,这是预览版,这意味着将在几个月后投入生产。您需要最新的 Office 版本并参考我们的预览版 office.js 进行试用。office.js 预览在这里https://appsforoffice.microsoft.com/lib/beta/hosted/office.js
查看此代码示例,了解如何轻松做到这一点。
function onaddOpenDoc() {
Word.run(function (context) {
// this getDocumentAsBase64 assumes a valid base64-encoded docx file
var myNewDoc = context.application.createDocument(getDocumentAsBase64());
context.load(myNewDoc);
return context.sync()
.then(function () {
myNewDoc.open();
context.sync();
}).catch(function (myError) {
//otherwise we handle the exception here!
showNotification("Error", myError.message);
})
}).catch(function (myError) { showNotification("Error", myError.message); });
}
基于 JavaScript 的 Office.js API 至少暂时不支持在新实例(即新的、单独的 Word 窗口)中打开文档。您总是从一个Context
对象开始,这将使您可以通过该Context.document
属性访问当前活动的文档。
您可以做的是将内容插入到现有文档中,例如通过body.insertOoxml
方法。
目前,Office.js API 与经典的 COM API 相比仍然受到限制。如果您需要完整的功能集,您仍然可以考虑在今天开发 COM 或 VSTO 解决方案。唯一的缺点是您的加载项无法在 Windows 桌面以外的任何平台上运行。