问题标签 [office-js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
571 浏览

office-addins - 如何获取选定的图像

我有一个 Word 2016 插件,它使用 graphviz 创建图像并将相应的点代码存储在图像的 altdescription 中。我可以选择图像并将点代码加载回加载项中的编辑器。但这仅适用于我当前的 inlinePictures 实现。

如果所选图片在文档中自由浮动,如何获取?

插件的目标是使用点创建和编辑已经创建的图形。但是编辑部分是目前的问题。

0 投票
1 回答
117 浏览

office-js - 查找活动的 Excel 表格

说,有创建的表的数量ctx.workbook.tables.add(..)

有没有办法知道用户当前在哪个表上?

这些表格在结构、内容等方面有所不同,我们希望在任务窗格上显示特定的操作/UI。我能看到的唯一方法是遍历表集合,查找它们的所有范围边界并查看活动表是否在这些表之一中。

0 投票
1 回答
97 浏览

office-js - 如何在办公应用程序中进入编辑选择

Office 365 应用程序托管在 Office 商店中,新/现有用户可以从那里使用 Excel/Word 等 Office 应用程序访问该应用程序。我们在 Office 商店中有一个名为 Editor's Choice 的特殊类别,其中建议/推荐了一些应用程序微软为了更好的用户体验。

查询:如果我的应用程序已经在 Office 商店上发布,我想知道如何让我们的应用程序在该类别下注册?

0 投票
1 回答
158 浏览

office-js - 在 Word add-n 中获取绑定位置

有没有办法在文档中获取绑定位置,比如它出现的字符号?或者至少获得绑定出现在文档中的顺序。getAllAsync 按添加顺序获取绑定数组(尽管不能保证)。我需要知道一个是否出现在另一个之前。谢谢你。

0 投票
1 回答
41 浏览

office-js - 如果我们使用第 3 方支付模式,验证政策是否仍然适用于我们?

与 Office Web App 验证策略版本 1.9 的链接相关的查询。

https://msdn.microsoft.com/library/office/jj220035(v=office.15)#bk_7

查询与第 7.17 节(7.16.1、7.16.2、7.16.3)有关:他们正在计划一个办公应用程序,他们希望在其中使用第三方支付系统,该系统是基于订阅的模型。假设他们的应用程序支持 5 种不同的功能,用户可以通过不同的订阅使用这些功能,例如 –</p>

免费订阅:只有 3 个功能的免费计划。付费基本订阅:付费计划只有 4 个功能。付费高级订阅:具有所有 5 项功能的付费计划。

我的疑问- 1. 那么在这种情况下,第 7.17 节(7.16.1、7.16.2 和 7.16.3)是否适用?这意味着我必须在 Office 商店中以 MyApp_Free、MyApp_Basic、MyApp_Preminium 的名称托管三个不同的应用程序。请注意,我的付款模式是第三方。2. 或者我可以托管一个包含上述所有订阅的应用程序。

到目前为止,我从这些验证政策第 7.17 节(7.16.1、7.16.2 和 7.16.3)中了解到它们适用于使用 Office 商店支付模式的应用程序,因为我们不能有不同的设置在一种支付方式下的功能/订阅,我们使用的是第 3 方,以下几点是否仍然适用于使用第 3 方支付模式的人?

0 投票
1 回答
953 浏览

javascript - office-js:未捕获的类型错误:window.external.GetContext 不是函数

我正在努力检查我的托管 Web 应用程序是否由浏览器或 Outlook 2013/2016 客户端打开。

这是我的方法:

该函数本身就像一个魅力,但我无法摆脱'Uncaught TypeError'。它一直在我的浏览器控制台中向我抛出这个 Uncaught TypeError:

0 投票
1 回答
373 浏览

xml - Outlook 365 加载项仅出现在 Outlook 2013 客户端中

我在 Outlook 2016 中显示我的加载项时遇到问题。我将其开发为 Office365 加载项,它在 Outlook 2013 中就像一个魅力。但当时我想在 Outlook 2016 中测试它并没有显示在“Office 应用程序”部分中。

我想我必须在 manifest.xml 中添加一些东西,但我不知道是什么。在 Outlook 2013 中,它会在右上角打开一个任务窗格。如果它在 Outlook 2016 中相同,那就太好了。

我的 Outlook 2013/2016 加载项 .XML 如下所示:

0 投票
1 回答
393 浏览

ms-word - 在线word中的动态数据操作

我正在尝试为 word 在线构建一个任务窗格加载项,它可以像桌面办公室一样进行邮件合并。现在我知道word online 不支持开箱即用的邮件合并,所以我想到了以下步骤 -

  1. 使用桌面办公室创建一个模板 (DOTX),该模板将包含区域或类似合并字段等内容。将模板上传到一个驱动器。
  2. 打开一个空白文档并在线添加一个任务窗格加载项。这是暂时的步骤。
  3. 单击加载项上的按钮。
  4. 此单击将使用应用服务调用从服务器流式传输模板 (DOTX)。
  5. 将流渲染成 word 在线网页。
  6. 编辑并保存。
  7. 在线关闭单词并重新打开。
  8. 单击文档链接。
  9. 这将在线呈现 word 文档。
  10. 在任务窗格中添加加载项(临时步骤)。
  11. 单击编辑按钮。
  12. 调用应用服务获取最新的合并数据源。
  13. 遍历xml这个词,替换掉区域或者特殊键对应的值。
  14. 重新渲染文档。

我的用户将拥有 Office 365 的 E1 订阅。

这种思维过程是否合乎逻辑并且可以通过在线文字实现?提前致谢!...

0 投票
1 回答
209 浏览

xml - Word Online 和 Word XML

是否可以从 Word Online 上的任务窗格应用程序访问基础 XML?我可以使用桌面 Word 之类的功能getNamesoaceAsyncgetXmlAsync但在线 Word 总是抛出错误代码 6000 - 找不到这样的节点。

0 投票
1 回答
270 浏览

javascript - 如何忽略/清除 Excel 任务窗格应用程序缓存?

我正在使用 Office JavaScript API 为 Excel 编写任务窗格应用程序。在这个应用程序中,我从其他服务器请求数据并在 Excel 工作表中显示这些数据。工作表中的更改也可以上传到服务器。这些请求是对代理的简单 ajax 调用。代理会将此请求转发给服务器。到目前为止,这工作正常。

但是请求被缓存在 Excel 应用程序的某个地方。更改后,刷新后仍显示工作表中未更改的数据。但是数据在服务器端发生了变化。它不会向代理发送新请求,因此它被缓存在应用程序中。如果我使用 Chrome 和 Firefox 调用该应用程序,它工作正常。这里没有缓存任何东西。

是否有可能避免 Office 应用程序中的缓存?或者我可以手动触发缓存失效/清除吗?

编辑:

未更改数据是什么意思:我更改了 excel 表中的某些内容并将这些数据上传到服务器。如果我现在刷新 excel 工作表中的数据,它将显示更改之前的数据,因为它在某处缓存了第一个请求中的数据并使用它们。它不会再次调用服务器来获取具有更改值的数据。希望这个解释有所帮助。

可以在这里添加一些代码示例,但我认为它们不会有很大帮助。

通过ajax调用获取数据的方法。当我在 excel 应用程序中刷新数据时,此方法仍被调用并运行抛出回调,但请求未到达代理服务器。

我已经在代理中设置了缓存标头,但它仍然被缓存在 excel 应用程序的某个地方。