如何在单词加载项中打开新的Word docx文档

时间:2016-10-07 09:14:32

标签: ms-word ms-office office365 office-js javascript-api-for-office

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

请指导我如何在单词加载项中打开新文档。

感谢。

2 个答案:

答案 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桌面以外的任何平台上运行。