问题标签 [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 回答
694 浏览

angularjs - Office.js 回调中断 Angular 控制器

我正在使用 AngularJS 开发 PowerPoint-AddIn。要获取用户语言,我使用 Office.context.displayLanguage,它仅在 Office.initialize -Callback 中可用。我通过 Angular-Factory 获得我的语言字符串。当我将 Office.initialize -Callback 放在我的 Angular 控制器中时,它会破坏控制器功能,并且我的页面上的任何按钮都将不再起作用。我究竟做错了什么?

我将语言默认设置为英语,但我希望在初始化文档时更改它并且我可以访问 displayLanguage。在我将 Office.initialize -Callback 放入我的控制器之前,我的应用程序运行良好。我应该以某种方式注入 Office-Object 吗?我没有收到任何错误消息。

0 投票
1 回答
882 浏览

javascript - 根据 Powerpoint 中的用户输入动态更改幻灯片

我希望创建一个 PowerPoint,使我能够检查介绍性幻灯片上的几个框,然后确定演示文稿稍后在幻灯片上的图表外观。这是否可以仅在 Powerpoint 中执行,或者我需要将复选框放在 Excel 中并在该程序中显示/隐藏信息,然后将 powerpoint 图表链接到此工作表?

或者,有没有办法让我在 Powerpoint 中插入某种 Javascript,它会根据用户输入显示/隐藏图表的各个部分?

感谢您的输入:p

0 投票
2 回答
164 浏览

office365 - 重新打开工作簿时的在线 Excel 加载项

我们有一个 Excel Online 的任务窗格加载项。

从 Office 商店安装加载项按预期打开带有 IFRAME 的侧边栏。

但是当我们关闭带有电子表格的选项卡并稍后重新打开同一个工作簿(无论是否编辑)时,右边框上只会出现一个图标。有时这是我们的加载项图标,有时它是一个中性图标(鼠标悬停在 Office-Addin 上)。单击该图标不会显示侧边栏(尽管它已被加载)。按图标上方的箭头也无济于事。

其他任务窗格加载项也会发生同样的事情。

有时我们可以再次插入我们的加载项(然后它可以工作),有时我们不能(即我们可以插入它,但 UI 不会改变)。

该行为可以在 Chrome 47、Firefox 41 和 Edge 上重现。

那里有什么问题?

0 投票
1 回答
29181 浏览

office365 - 如何更改 Excel Online 的菜单语言?

我们正在尝试制作 Excel Online 的屏幕截图(用于不同语言的加载项的 Office 商店列表)。

如何(临时)更改 Excel 菜单的语言?

我试图在工作簿创建对话框中更改语言。它有效,但只影响了该对话框(但不影响打开的工作簿)。

0 投票
2 回答
1851 浏览

ms-word - 自动加载 Word 任务窗格 Office 加载项

我们正在为内部组织文档开发 Word 任务窗格 Office 插件(不是 VSTO)

在 Word 2013(桌面版)中,当我们插入加载项并保存文档时,当我们重新打开该文档时,加载项会自动加载。

在 Word Online 中,此行为有所不同,加载项不会自动加载。每次打开文档时,用户都必须手动插入加载项。

  1. 有没有办法在 Word Online 中自动加载它?

  2. 运行我们自己的 Office Web App Server 会有帮助吗?

  3. 有没有办法通过参数加载加载项?(也许是查询字符串?)

谢谢

0 投票
1 回答
274 浏览

ms-office - 我可以像 Ewa 一样从 SharePoint 2013 内容编辑器 Web 部件访问 office.js 吗?

我的 HTML 和 JavaScript 在 SharePoint 2013 内容编辑器 Web 部件中运行良好,我可以从中访问 Ewa.EwaControl 对象(https://msdn.microsoft.com/en-us/library/office/ee589018 .aspx ) 以访问页面上托管的各种 Excel Web 部件。

Ewa 有一些限制,我想通过使用 office.js ( https://msdn.microsoft.com/en-us/library/office/fp142185.aspx ) 来克服这些限制。

此外,Ewa 和 office.js 似乎都在做类似的事情,但我在互联网上找不到任何表明不推荐使用的东西。由于 SharePoint 2016 需要 Office Online Server,并且 Excel Web Parts 现在被 Office Online Server 所包含,这对于 office.js 或 Ewa 的未来意味着什么?它们似乎具有重叠的功能,目前还不清楚我们应该投资哪个。

0 投票
1 回答
605 浏览

ms-office - Office 加载项(任务窗格)如何默认不显示

我在已注册的 Office 365 站点上有一个任务窗格 Office 加载项 ( https://msdn.microsoft.com/en-us/library/office/fp123523.aspx )。当用户从该站点上的文档库打开电子表格时,然后在编辑模式下,可以使用“插入”菜单中的“Office 加载项”将我的加载项插入到电子表格中。我的加载项帮助他们填充和更新电子表格上的数据。然后,他们将电子表格与更新的数据一起保存回来。

现在,下次他们打开该电子表格时,我的任务窗格再次出现。是不是有什么任务窗格打不开?我希望用户从功能区栏中显式打开。

此外,当他们下载电子表格并将其提供给其他人,并且该人使用 Excel 2013 打开电子表格时,加载项再次显示(询问他们是否要运行加载项)

就我而言,我从不希望用户从 Excel 桌面访问此任务窗格加载项。因此,当我可以确定它在桌面上运行时,我正在考虑将页面清空。但是,我希望关闭加载项窗口。有没有办法做到这一点?

了解我的加载项功能的最佳方式是,它有点像 Excel 中的 TFS 加载项。它的目的是填充和提取数据。在电子表格中填充数据后,您不希望加载项仍然打开。事实上,没有 TFS 插件的人可以打开电子表格并且一切正常。不幸的是,我们无法像 TFS 那样使用 Office Online 技术创建功能区加载项。任务窗格就足够了,但它似乎太“粘”了。

0 投票
2 回答
727 浏览

vsto - VSTO 加载项和任务窗格应用程序 (JS/HTML) 之间的双向通信

在桌面 Office 应用程序中运行时,是否可以让 VSTO 加载项和基于 JS/HTML 的任务窗格应用程序相互通信?

目标是使用 VSTO 连接 x 平台 Office API 中尚不存在(或永远不会存在)的功能。

0 投票
1 回答
459 浏览

ms-office - 将 Word Online 检测为 Office 加载项中的主机

我在任务窗格应用程序中使用JavaScript APISettings的对象在文档中保存一些键值对。

我的代码是这样的

我也在调用saveAsync它的函数来保持这个值。

我面临的问题是设置没有保留在 Word Online 中,因为当前设置对象不支持Word Online

那么有没有办法找到应用程序正在 Word Online 中运行,因此可以显示一条消息,或者可以使用 localStorage 或其他东西来保存值。

编辑:创建了一个用户语音请求以在 Word Online 中添加此功能,您可以在此处支持此功能

编辑 2

为了更好地解释问题并分享示例,我创建了一个示例插件,清单位于此处

在这里您可以键入键的值test并按保存,这会在内部调用saveToPropertyBag(key, value)位于StorageLibrary.js. 此函数具有上述代码来保存设置,然后saveAsync被调用,以便将值保留在文档中。

现在您可以刷新浏览器或重新加载插件,然后按获取,该值将在 Excel 和 Powerpoint 中可用,但在 Word Online 中不可用。

所以我正在寻找一种检测主机(Word Online)的方法,以便我可以回退到另一种方式来存储本地存储等值并向用户显示警告。

0 投票
1 回答
2041 浏览

ms-word - 在 Word Online(浏览器)中使用 Word 加载项 JavaScript API

我正在尝试在 Word Online(浏览器)中使用Word 加载项 JavaScript API

当我跑步时

它在 Word 2016 桌面版中运行良好,但在 Word Online 中出现错误:

“字”未定义

问题:

  1. 这个 Word Api 可以在 Word Online 中使用吗?
  2. 如果没有,这个 API 什么时候可以在 Word Online 中使用?