我使用word javascript api开发了一个单词加载项。我的文档.docx文件在服务器上,我需要在加载项中单击按钮时将该.docx文档打开为新的word文档。
请指导我如何在单词加载项中打开新文档。
感谢。
答案 0 :(得分:4)
我们正在添加一种新方法,您可以实际使用它来实现此目的。请注意,它处于预览状态,这意味着将在几个月内投入生产。您需要最新的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); });
}
答案 1 :(得分:-1)
基于JavaScript的Office.js API不支持在新实例(即新的单独的Word窗口)中打开文档,至少目前是这样。您始终从Context
对象开始,这将使您可以通过Context.document
属性访问当前活动的文档。
您可以做的是将内容插入现有文档,例如通过body.insertOoxml
方法。
目前,与传统的COM API相比,Office.js API仍然受到限制。如果您需要完整的功能集,您今天仍可考虑开发COM或VSTO解决方案。唯一的缺点是您的加载项不会在Windows桌面以外的任何平台上运行。