天道酬勤,学无止境

office-js

Office JS:在多个 Excel 实例中执行 Addin 时出现的问题(Office JS: Problems when Addin is executed in multiple Excel instances)

问题 我在多个 Excel 实例中执行 office 插件时遇到问题。 当两者同时执行时,一个停止运行。 我做了 2 个快速的 ScriptLab 示例,您可以在其中重现一些问题(我粘贴了它们)。 一个包含一个 UDF 函数,只需在 ScriptLab 中注册它。 另一个是产生我的一个问题的样本。 首先注册 UDF,然后在使用第二部分之前,创建 2 个工作簿,每个工作簿有 100 个包含以下函数的工作表(取决于 Snippent 名称,在我的情况下为“Blank snippet (1)”,如果你的名字不同的话) ,请在此处以及函数“findAllOrNullObject”中的插件代码中调整公式名称)。 =SCRIPTLAB.BLANKSNIPPET1.ADD(1;2) 执行此操作的最快方法是:使用该功能创建十张工作表并将这十张工作表复制十次到工作簿的末尾。 完成此操作后,使用不同的名称再次保存工作簿。 然后,打开两个工作簿并单击“运行”(在两个工作表中)。 然后在两者都运行或打开一个应用程序时单击另一个应用程序。 在控制台上,您将看到一个计数器,指示插件实际在哪个工作表上工作。 您应该在两个实例中都期望“INDEX:100”,但是当您单击另一个应用程序或启动一个实例时,一个实例会停止并且不会达到100。如果您不会直接遇到问题,请再试一次,它肯定会出现。 UDF 代码: /** *

2021-10-26 23:31:50    分类:技术分享    excel   office-js   user-defined-functions   custom-functions-excel

Office.context.document.customXmlParts 未定义(Office.context.document.customXmlParts is undefined)

问题 我正在使用 Office JS 处理 Excel 插件,在任务窗格中,我调用 Office.context.document.customXmlParts.getByNamespaceAsync,但它抛出异常“TypeError:无法读取未定义的属性“getByNamespaceAsync”,即 Office.context。 document.customXmlParts 未定义 office-js 版本为 1.0.52 以下获取 customXmlParts 的方法有效: return await Excel.run(async ctx => { const workbook = ctx.workbook; workbook.load("customXmlParts"); await ctx.sync(); const items = workbook.customXmlParts.items; ... } 但是我需要调用getByNamespaceAsync在回调中使用Office.CustomXmlPart.value.addHandlerAsync,所以上面的方式不适合。 请问有什么想法吗? 回答1 那是因为 Office.context.document.customXmlParts 仅在 word 上受支持。 请使用 Excel.Workbook

2021-10-26 23:20:30    分类:技术分享    javascript   excel   office-js

document.contentControls 不返回文档中的所有 ContentControls(document.contentControls not returning all ContentControls in the document)

问题 我有一个包含三个ContentControl对象的文档,如下所示: 这是完整的 .docx 文件 - 但基本上文档正文的标记如下所示: <w:body> <w:p w:rsidR="0075044D" w:rsidRDefault="0075044D"> <w:r> <w:t xml:space="preserve">Video provides a powerful way to help you </w:t> </w:r> <w:sdt> <w:sdtPr> <w:alias w:val="cc1"/> <w:tag w:val="prove"/> <w:id w:val="806369342"/> <w:placeholder> <w:docPart w:val="1F3FDE3D075A4E8AADE251C4E318E379"/> </w:placeholder> <w15:color w:val="FF9900"/> <w15:appearance w15:val="tags"/> <w:text/> </w:sdtPr> <w:sdtContent> <w:r> <w:t>prove</w:t> </w:r> </w:sdtContent> </w:sdt> <w:r> <w:t xml:space="preserve"> your point. When

2021-10-26 09:12:35    分类:技术分享    ms-word   office365   office-js   office-addins   word-contentcontrol

如何在不更改 MSWord Web 加载项 API 中的文档状态的情况下设置文本格式?(How can I format text without changing document state in MSWord web add-in API?)

问题 我正在使用 Microsoft Web 插件 API 为 MSWord 开发插件。 我想强调或突出一些给定的词,但仅限于该会议的范围内。 我不想更改文档的状态。 换句话说,我不想在保存文档时保留新的文本格式。 我知道如何格式化文本,但文档的状态已更改。 我现在有这个代码: word_range.font.underline = Word.UnderlineType.wave; 我想实现类似于 Grammarly 插件的行为,其中下划线只是指出这些词有问题,但同样,没有坚持下划线。 我发现了一个类似的问题(单词 - 突出显示搜索结果而不永久更改文档格式),但几年前有人问过这个问题,但解决方案并不是我正在寻找的。 回答1 恐怕没有办法突出显示,如果用户保存文档,它将自动消失。 您链接到的答案,或者这个答案是目前可以在 Office.js 中完成的最佳答案。 但是,这是一个好主意,因此请在 Office 开发人员意见箱中提出建议。

2021-10-26 05:02:19    分类:技术分享    ms-word   ms-office   office-js

是否可以使用 Office.js 刷新 Word 文档的字段?(Is it possible to refresh fields of a word document with Office.js?)

问题 我有带有显示自定义文档属性值的字段的 Word 文档,如下所示: `{ DOCPROPERTY example \* MERGEFORMAT }` 每当我的自定义属性被修改时,为了在我的文档中显示更改,我需要选择字段并右键单击 -> 更新它们。 我想知道 office.js 是否有任何东西可以帮助我自动更新文档中的字段。 回答1 目前没有可以执行此操作的 API。 但这是一个绝妙的主意。 请在 Office 开发人员意见箱中提出建议。

2021-10-25 23:11:53    分类:技术分享    ms-word   office-js   office-addins   word-field

Excel 自定义函数突然停止在本地工作(Excel Custom Functions suddenly stopped working on local)

问题 Excel 自定义函数在我的本地主机上突然停止工作(经过长时间的完美工作。)所有应用程序(我们的自定义以及 starcount 教程)现在都失败并出现以下错误: “无法启动此加载项。关闭此对话框以忽略问题或单击“重新启动”重试。” 此外,在工作表的底部,我得到: “我们正在启动加载项运行时,请稍等……” 它永远不会消失。 尝试解决 删除了所有自定义功能并恢复为非常简单的“添加”功能[失败] 重新构建的应用程序清单 [失败] 下载了全新的 Starcount 教程示例并尝试加载自定义函数 [失败] 在 Excel Online 中尝试应用自定义函数 [成功] 最近安装的程序 PM2 (https://pm2.keymetrics.io/) 文件夹大小资源管理器 (https://www.folder-size-explorer.com/) 有用的信息 winver:版本 19033(操作系统内部版本 18362.476) Excel 版本:Office 365 专业增强版,版本 1911(内部版本 122228.20120) 错误截图链接到运行时日志文件。 CSL 是命名空间 回答1 通过升级到内部版本,我能够修复本地自定义函数。 似乎 1911 Office 版本可能存在一个小错误。 不工作:版本 1911 工作:版本 1912(内部版本 12312.20002) 回答2

2021-10-25 15:27:32    分类:技术分享    excel   office-js

Mac 商店中缺少已批准的 Excel 插件(Approved Excel addin missing from Mac store)

问题 我们的 Excel 插件在几个月前获得了 Microsoft 的批准,它在 Windows 和 Web 版本的 Excel 中按预期显示。 但是,我们无法让它在任何 Mac 版本的 Excel 上显示。 重现: 在 Excel for Mac 中,转到“插入”功能区选项卡并选择“ Get Add-ins 。 弹出商店对话框。 搜索“MyEducator”。 可怕的“没有符合这些条件的加载项”出现了。 如果您在 Excel for Windows 上尝试相同的搜索,则加载项显示正常。 我们已经与 Microsoft 支持人员合作了两周(为专门的支持支付了 500 美元),但他们无法弄清楚为什么它没有出现。 我们经历了多层次的支持。 他们说我们的清单要求是正确的,但他们也没有看到加载项。 今天,他们终于让我们在这里试试:)。 清单文件具有以下要求集: <Hosts> <Host Name="Workbook" /> </Hosts> <Requirements> <Sets> <Set Name="ExcelApi" MinVersion="1.8"/> </Sets> </Requirements> Microsoft 平台可用性文档显示 Office 365 Mac 支持ExcelApi 1.8 。 (为了完整起见,我们不使用“Mac 版本 16 一次性购买”,它不支持 1

2021-10-25 13:28:45    分类:技术分享    office-js   office-store

无法在 Excel 自定义函数中获取 POST 请求(Unable to get POST request working in Excel custom functions)

问题 我们目前正在我们的应用程序中实现自定义功能,并且无法使 POST 请求工作。 我们尝试过的: POST 使用 fetch(确切功能适用于最新的 Chrome) 使用 axios 进行 POST,并向下​​转译(确切功能适用于最新的 Chrome) 在我们的后端 expressjs 服务器上添加和删除 cors() 中间件 我们是否缺少实现细节? 我阅读了一些关于简单 CORS 的简介,但想联系一下,看看是否有我们忘记的部分。 回答1 您是在 Excel for Windows 还是 Excel Online(又名 Excel on the Web)上进行测试? 如果您在 Excel for Windows 中运行自定义函数,目前尚不支持完整的 CORS。 但是,如果您在 Excel Online 和 Excel for Mac 中运行它,它应该可以工作。

2021-10-25 12:42:02    分类:技术分享    office-js   custom-functions-excel

使用 office.js 加载项清单 xml 的动态功能区 office 365(Dynamic ribbon office 365 using office.js add-in manifest xml)

问题 我们希望使用带有 react 和 office 365 的加载项清单 xml 登录/注销功能区。 我们使用office.js的自定义xml部件功能,但没有找到结果 回答1 目前无法动态更改按钮名称或用另一个按钮替换按钮。 我们正在开发新的 API 和清单更改,以使这成为可能,但目前无法完成。

2021-10-25 12:05:43    分类:技术分享    office365   office-js   office-addins   microsoft-teams

How can I format text without changing document state in MSWord web add-in API?

I'm developing an add-in for MSWord using Microsoft web add-in API. I'd like to underline or highlight some given words, but only in the scope of that session. I don't want to change the document's state. In other words, I don't want to persist the new text formatting when the document is saved. I know how to format text, but the document's state is changed. I have this code at the moment: word_range.font.underline = Word.UnderlineType.wave; I want to achieve a behavior similar to Grammarly plug-in, where the underline is only to point out something is wrong with those words, but again

2021-10-25 10:31:16    分类:问答    ms-word   ms-office   office-js