5

我使用 word javascript api 开发了一个 word 插件。我的文档 .docx 文件在服务器上,我需要通过单击加载项中的按钮将该 .docx 文档作为新的 word 文档打开。

请指导我如何在 word 插件中打开新文档。

谢谢。

4

2 回答 2

9

我们正在向 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); });


    }

于 2016-10-07T21:28:57.507 回答
0

基于 JavaScript 的 Office.js API 至少暂时不支持在新实例(即新的、单独的 Word 窗口)中打开文档。您总是从一个Context对象开始,这将使您可以通过该Context.document属性访问当前活动的文档。

您可以做的是将内容插入到现有文档中,例如通过body.insertOoxml方法。

目前,Office.js API 与经典的 COM API 相比仍然受到限制。如果您需要完整的功能集,您仍然可以考虑在今天开发 COM 或 VSTO 解决方案。唯一的缺点是您的加载项无法在 Windows 桌面以外的任何平台上运行。

于 2016-10-07T11:14:09.523 回答