问题标签 [javascript-api-for-office]

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 回答
333 浏览

ms-office - 如何将一个处理程序绑定到 Word 中的多个 ContentControls(具有相同的标题)?为 Office 使用 Javascript API

我正在使用 JavaScript API for Office、MS Word 2016、VisualStudio 2015 进行开发。文档中有多个具有相同标题的富文本 ContentContols。我正在尝试将这些 ContentControls 绑定到处理程序,以便我可以获得 onBindingDataChanged 通知。

有没有办法将 ContentControls 绑定到一个具有自己 ID 的处理程序?或将 ContentControls 的 id 作为一个参数传递?

我目前的代码是这样的:

由于文档中有多个标题为“CCTitle”的内容控件,addFromNamedItemAsync在函数中bindNamedItem会报错:Multiple objects with the same name were found.

我想要实现的是在用户对它们中的任何一个进行一些更改时获取 ContentControls 的 id 和内容。有什么想法可以帮忙吗?提前致谢。

0 投票
2 回答
282 浏览

ms-office - 如何从 Javascript 任务窗格应用程序中填充部分 Excel 表格

我有一个包含 7 列数据和 6 个计算列的 Excel 表。该表与 3 个图表相连。

任务窗格加载项用于获取一些参数、实现一些安全性(Bearer Token)并获取数据。查询为不同的参数返回不同的行数。

因此,我不能使用范围而必须使用Office.TableData.

在这样的示例中,表每次都被销毁并再次创建,我无法使用,因为 Excel 工作簿用作模板,我不知道该表有什么连接。

使用绑定,TableData可以使用不同数量的行,但不能部分更新数据。

这些是我尝试过但没有成功的方法:addFromNamedItemAsync, deleteAllDataValuesAsync, addRowsAsync, setSelectedDataAsync.

我认为,这应该是可能的,因为 Excel 工作簿查询的工作方式。但是我该如何解决呢?

0 投票
1 回答
415 浏览

ms-word - 有没有办法使用他们的 JavaScript API 在 Microsoft Word 上禁用拼写/语法检查?

如果没有,有没有办法用docx4jAspose做到这一点?

我偶然发现了问题 docx Template Docx4j replace text in Java。它描述了我面临的实际问题,即模板变量(如${some.variable})由于拼写检查而跨越文本运行。但是,他的解决方案对我来说效果不佳。我可以实现的最佳解决方案是在后台自动禁用(并可能重新启用)拼写检查。

0 投票
1 回答
2005 浏览

javascript - 为什么在本地引用时 office.js 不起作用?

我有一个基于 GitHub 上名为 LoadingAndWritingOOXMLWeb 的代码的完美功能插件,但做了一些修改。
但我想离线演示 - 或者至少在网络不够可靠而无法信任的地方进行演示。
所以我打开 URL https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js 并保存为 office.js,将文件复制到与我的 html 文件相同的文件夹中,然后将引用更改如下:

保存、刷新缓存等。现在,当我单击添加时,在 Office 中获得了时间玻璃片刻,但没有插入任何内容。改回代码,它会愉快地再次插入。

该文件没有被屏蔽,可以在Chrome中使用查看源代码打开,从HTML浏览到js文件,因此可以访问。
当我比较时,我从我的代码中看到的内容与 Microsoft 在 Chrome 视图源中的原始内容看起来完全一样。

我错过了一些明显的东西吗?谢谢你的帮助。

0 投票
1 回答
1763 浏览

ms-office - Office 2016 JavaScript API for Word、body.getHtml() 和 body.getOoxml() 方法不起作用

尝试使用 Office 2016 Word 加载项获取 Office 2016 Word 文档正文时,java Script API 方法 body.getHtml() 和 body.getOoxml() 不起作用-;它返回错误“调试信息:{“errorLocation”:“Body.getHtml”}

参考文档-:http ://dev.office.com/reference/add-ins/word/body

这是我的代码-:

我在这里错过了什么吗?

完整的错误对象-: {"name":"OfficeExtension.Error","code":"AccessDenied","message":"AccessDenied","traceMessages":[],"debugInfo":{"errorLocation":"Body .getHtml"},"stack":"AccessDenied: AccessDenied\n at Anonymous function ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:150094)\n at易 ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163912 )\n 在 st ( https://appsforoffice.microsoft.com/lib/1.1/hosted /word-win32-16.00.js:19:163999 )\n 在 d ( https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163819 )\n 在 c (https://appsforoffice.microsoft。com/lib/1.1/hosted/word-win32-16.00.js:19:162405 )"}

错误代码 5009 -> 加载项没有调用特定 API 的权限。

已经尝试过-:https ://github.com/OfficeDev/office-js-snippet-explorer/issues/13 还没有成功!

0 投票
1 回答
1547 浏览

excel - JavaScript API for Excel 中的触发器计算

我正在尝试使用JavaScript API for Excel

有谁知道如何触发单元格、范围、工作表或工作簿的计算?

例如,下面的代码选择了一个范围,但是我们如何重新计算范围呢?

0 投票
2 回答
527 浏览

excel - 通过 JavaScript API for Excel 获取工作簿的所有 VBA 宏

在 VBA 中,我们可以使用例如Wb.VBProject.VBComponents来获取工作簿的所有 VBA 宏Wb

有谁知道 JavaScript API for Excel 是否提供任何对象或函数来访问它?

0 投票
2 回答
366 浏览

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

我正在使用 Word JS API v1.1 创建 Word 2016 加载项。加载项需要能够操作文档中的任何内容控件,但目前该 API 仅限于富文本内容控件。是否可以使用 Office.js 或任何其他工具来访问所有内容控件子类型(复选框、下拉列表等)?

编辑:

我可以按照需要使用 VBA 宏的方式操作内容控件。是否可以将 Word VBA 宏与我的加载项相关联?

0 投票
1 回答
1090 浏览

excel - 如何在 Excel 中从 Javascript Api 编写一个独立于用户语言的公式?

我所做的:

然后

现在一切正常,如果用户在 Excel 中使用英语。但是如果他使用德语,就会出现“#NAME?”,因为在德语中 SUM 必须是 SUMME。如何从 Javascript Api 编写一个独立于用户语言的公式?

或者问题可能是:我可以(在单元格中)在 Excel 中以德语为标准语言编写英文公式吗?

编辑

我会标记 Michael Zlatkovsky 的答案,因为它有效。但我没有使用它。问题是我收到很多“参数无效或丢失或格式不正确”。

我在Office 开发中心论坛中提出了同样的问题,并建议使用 Context.displayLanguageContext.contentLanguage来查找语言并使用不同的公式。但这不可能是普遍的。

我现在使用的是在一些工作表和一些单元格(隐藏)中编写公式,然后在其他单元格中使用 FORMULATEXT 以获得正确的公式。例如,如果在单元格 P2 中是这个公式:

在 P3 中:

加载 Excel 表后,您会得到正确语言的公式,我直接在表格中使用它。尽管公式中有错误,它还是被翻译了。这里是德语:

0 投票
1 回答
655 浏览

ms-office - 保存文件后 Office.context.document.url 仍然为空

我正在为 Microsoft Project 开发 Office 任务窗格加载项,但遇到了严重的限制。

创建一个新项目文件后,我加载了任务窗格应用程序,它有一个子函数,它读取Office.context.document.url属性,它应该具有文件的完整路径。

很明显,一开始它是空的,因为它是一个未保存的项目,但是在我保存项目并再次触发子功能后,url仍然是空的。

我想,文档对象在保存过程中的任何时候都不会重新加载。我怎样才能手动做到这一点?如果它是可能的...

这是返回项目路径的子函数: