我已经开发了一个词加载项,使用javascript javascript api。我的文档.docx文件位于服务器上,我需要将该.docx文档作为一个新的Word文档打开,然后单击加载项。如何在word加载项中打开新的Word docx文档
请指导我如何在word加载项中打开新文档。
谢谢。
我已经开发了一个词加载项,使用javascript javascript api。我的文档.docx文件位于服务器上,我需要将该.docx文档作为一个新的Word文档打开,然后单击加载项。如何在word加载项中打开新的Word docx文档
请指导我如何在word加载项中打开新文档。
谢谢。
基于JavaScript的Office.js API不支持在新实例中打开文档(即新的单独的Word窗口),至少暂时不受支持。您始终从Context
对象开始,该对象将允许您通过Context.document
属性访问当前活动的文档。
您可以做的是将内容插入到现有的文档中,例如,通过body.insertOoxml
方法。
目前,与传统的COM API相比,Office.js API仍然有限。如果您需要完整的功能集,您现在仍可以考虑开发COM或VSTO解决方案。唯一的缺点是您的加载项不能在Windows桌面以外的任何平台上运行。
我们正在向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); });
}
谢谢,它正在按预期工作,等待生产。 – user3931619
它还没有生产?官方文档https://dev.office.com/reference/add-ins/shared/context中没有“应用程序”属性。顺便说一句。我使用angular 4,并且在Word Namespace的类型中的RequestContext-Class上没有应用程序属性。 – JohnnyAW
还不是我们正在积极研究它 –
这是现在支持,请参考我的答案...谢谢! –
@JuanBalmori:这是个好消息!但如果我正确理解你的答案,这仍然在测试中。有没有关于测试版功能的文档?或者其他任何方式来跟进将要添加的功能? –
是预览!请试一试!向我发送反馈!我们有一个开放的规格,我们放弃我们计划发货的一切!检查出来https://github.com/OfficeDev/office-js-docs/tree/WordJs_1.3_Openspec/word这里更多关于要求的信息https://github.com/OfficeDev/office-js-docs/树/ WordJs_1.3_Openspec –