问题标签 [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.
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 和内容。有什么想法可以帮忙吗?提前致谢。
ms-office - 如何从 Javascript 任务窗格应用程序中填充部分 Excel 表格
我有一个包含 7 列数据和 6 个计算列的 Excel 表。该表与 3 个图表相连。
任务窗格加载项用于获取一些参数、实现一些安全性(Bearer Token)并获取数据。查询为不同的参数返回不同的行数。
因此,我不能使用范围而必须使用Office.TableData
.
在这样的示例中,表每次都被销毁并再次创建,我无法使用,因为 Excel 工作簿用作模板,我不知道该表有什么连接。
使用绑定,TableData
可以使用不同数量的行,但不能部分更新数据。
这些是我尝试过但没有成功的方法:addFromNamedItemAsync
, deleteAllDataValuesAsync
, addRowsAsync
, setSelectedDataAsync
.
我认为,这应该是可能的,因为 Excel 工作簿查询的工作方式。但是我该如何解决呢?
ms-word - 有没有办法使用他们的 JavaScript API 在 Microsoft Word 上禁用拼写/语法检查?
如果没有,有没有办法用docx4j或Aspose做到这一点?
我偶然发现了问题
docx Template Docx4j replace text in Java。它描述了我面临的实际问题,即模板变量(如${some.variable}
)由于拼写检查而跨越文本运行。但是,他的解决方案对我来说效果不佳。我可以实现的最佳解决方案是在后台自动禁用(并可能重新启用)拼写检查。
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 视图源中的原始内容看起来完全一样。
我错过了一些明显的东西吗?谢谢你的帮助。
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 还没有成功!
excel - 通过 JavaScript API for Excel 获取工作簿的所有 VBA 宏
在 VBA 中,我们可以使用例如Wb.VBProject.VBComponents来获取工作簿的所有 VBA 宏Wb
。
有谁知道 JavaScript API for Excel 是否提供任何对象或函数来访问它?
javascript - 有什么方法可以访问所有 MS Word 2016 内容控件?
我正在使用 Word JS API v1.1 创建 Word 2016 加载项。加载项需要能够操作文档中的任何内容控件,但目前该 API 仅限于富文本内容控件。是否可以使用 Office.js 或任何其他工具来访问所有内容控件子类型(复选框、下拉列表等)?
编辑:
我可以按照需要使用 VBA 宏的方式操作内容控件。是否可以将 Word VBA 宏与我的加载项相关联?
excel - 如何在 Excel 中从 Javascript Api 编写一个独立于用户语言的公式?
我所做的:
然后
现在一切正常,如果用户在 Excel 中使用英语。但是如果他使用德语,就会出现“#NAME?”,因为在德语中 SUM 必须是 SUMME。如何从 Javascript Api 编写一个独立于用户语言的公式?
或者问题可能是:我可以(在单元格中)在 Excel 中以德语为标准语言编写英文公式吗?
编辑:
我会标记 Michael Zlatkovsky 的答案,因为它有效。但我没有使用它。问题是我收到很多“参数无效或丢失或格式不正确”。
我在Office 开发中心论坛中提出了同样的问题,并建议使用 Context.displayLanguage或Context.contentLanguage来查找语言并使用不同的公式。但这不可能是普遍的。
我现在使用的是在一些工作表和一些单元格(隐藏)中编写公式,然后在其他单元格中使用 FORMULATEXT 以获得正确的公式。例如,如果在单元格 P2 中是这个公式:
在 P3 中:
加载 Excel 表后,您会得到正确语言的公式,我直接在表格中使用它。尽管公式中有错误,它还是被翻译了。这里是德语:
ms-office - 保存文件后 Office.context.document.url 仍然为空
我正在为 Microsoft Project 开发 Office 任务窗格加载项,但遇到了严重的限制。
创建一个新项目文件后,我加载了任务窗格应用程序,它有一个子函数,它读取Office.context.document.url属性,它应该具有文件的完整路径。
很明显,一开始它是空的,因为它是一个未保存的项目,但是在我保存项目并再次触发子功能后,url仍然是空的。
我想,文档对象在保存过程中的任何时候都不会重新加载。我怎样才能手动做到这一点?如果它是可能的...
这是返回项目路径的子函数: