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

use*_*619 3 ms-word ms-office office365 javascript-api-for-office office-js

我已经使用Word javascript API开发了Word Add-in。我的Document .docx文件在服务器上,我需要在加载项中单击按钮后以新Word文档的形式打开该.docx文档。

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

谢谢。

Jua*_*ori 5

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


    }
Run Code Online (Sandbox Code Playgroud)


Dir*_*mar 1

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

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

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