ms-office - Word Addin - 如何将文件作为新文档打开?

标签 ms-office office365 office-js office-addins

我正在使用 Office JS 开发一个 Word 插件,用户可以在其中决定从远程服务器 API 打开文档。在这种情况下,我需要从服务器 API 接收文件并在 Word 中打开它。

目前,我正在发出 HTTP 请求,以从远程服务器获取以 Base64 编码的文档内容。

然后我正在使用:

var body = context.document.body;
body.insertFileFromBase64 (fileData, Word.InsertLocation.replace);
// (where fileData is the Base64 content)

这可行(文档实际上已打开),但我不太喜欢它,因为它替换了当前文档的内容,而不是打开一个新文档。

有没有办法让 Word 将文档作为新文档打开,而不是替换现有文档的内容?

我在上面描述了我的用例,以便您也可以提出更好的解决方案。

最佳答案

有一个处于预览版的 API,您可以使用它。这是一个代码片段: (请注意,createDocument 需要一个可选参数,即一个 base64 编码的 docx)如果提供了该参数,则打开的文档将包含它。

为了测试 API,请确保使用此处提供的 Office.js 预览版 CDN https://appsforoffice.microsoft.com/lib/beta/hosted/office.js

并且您有 Office 的全新更新。

这是代码:

  Word.run(function (context) {
       context.application.createDocument().open();  // optionally on createDocument send a base-64 docx.
       return context.sync();
    })

关于ms-office - Word Addin - 如何将文件作为新文档打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44815429/

相关文章:

sharepoint - 如何通过 API 查找 OneDrive 是否对 Office365 中的用户有效?

outlook - 创建事件作为委托(delegate) Outlook API

javascript - 在搜索操作期间无法替换文本

office-js - 为什么创建的名称范围无法获取命名项目范围?

javascript - 有什么方法可以访问所有 MS Word 2016 内容控件吗?

ms-office - Office.js Word - window.external.RegisterEvent 不是函数

excel - 有人可以确认 Microsoft Excel 2007 内部如何表示数字吗?

c# - 如何使用 Microsoft.Graph 客户端库获取分配的许可证

azure - 来自 Microsoft Oauth 端点的 Guzzle 400 错误请求

office-js - 如何在 nodeJS 服务器上托管 office 插件