问题标签 [office-scripts]
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.
loops - 在 Office 脚本中为 Excel Online 递增字母计数器
上下文 我们有从其他地方导出的数据,我们需要定期自动处理这些数据,但我们无法控制它是如何导出的,而且它以一种难看且难以使用的方式出现。所以我们自动化了一个脚本,它只从第一个电子表格(oldWorksheet)中获取我们需要的内容,并将其放入一个新的电子表格(newWorksheet)中
我们有工作代码,因为它是在我们手动执行操作时自动生成的,但我们想尝试减少一些迭代循环所需的重复代码行。伪代码看起来很有希望,但我们现在意识到我们不确定如何以我们想要的方式增加其中一些变量。
问题 我们希望相关变量在每次循环时按字母顺序增加预定数量的字符。我们将如何做这件事?
变量 x 和 y 与 Excel 电子表格的行/列有关,它们将经过 Z 并继续朝向 AA、AB、AC 等。
这可以在同一个过程中完成吗?或者我们是否必须跟踪它已经走了多远,然后在脚本读取它的同时将两个变量连接在一起?即,效果如下:
提前致谢!
typescript - 如何使用电源自动化中的文件内容在 excel 中添加完整图像
我有一个微软表单,可以让用户回答一些问题并上传图片。所有响应都将保存到一个带有电源自动化流程的 Excel 表中。这些答案将保存为字符串,指向 OneDrive 的图片的 URL 也将保存到 Excel 表中。
好的,很多人都问过如何使用该 URL 将图片插入到 excel 中的问题,但到目前为止还没有解决方案。微软的标准答案似乎不起作用——只要 URL 指向 OneDrive/SharePoint 就会出现获取错误(请参阅此链接)
我从另一个方面问同样的问题。我可以在电源自动化流程中获取文件内容。当我下载文件内容并检查它时,它具有这样的数据结构(出于安全原因,这不是完整的文件内容):
内容-处置":"附件;filename="16337833927412488499783584031011.jpg"","Content-Type":"image/jpeg","Expires":"-1"},"body":{"$content-type":"image/jpeg"," $内容":"
据我所知,"body":{"$content-type":"image/jpeg","$content": 之后的字符串从 /9j/4UVORX 开始直到 ...== 是 base64 字符串逻辑上可以传递给 OfficeScript 并调用 worksheet.AddImage API 将完整图片作为图像直接插入到 excel 工作表中的图像。
如果我将文件内容从电源自动化流程传递到 OfficeScript,任何人都知道如何使用 OfficeScript 提取 base64 字符串?
===附加===
经过一番研究,我设法使用 json 函数从文件内容中提取正确的字符串:
但是,它提示错误:操作“撰写”失败...
啊……想不通了……
power-automate - 如何加快我的 Office 脚本代码,使其不会在 Power Automate 中失败?
我被要求从 Sharepoint 上的 Excel 在线电子表格中提取数据到 Power BI 中以创建仪表板 - 没问题,对吧?好吧,“数据点”之一实际上是指示状态的单元格的填充颜色。我做了一些谷歌搜索并设法编写了一个 Office 脚本,它将填充颜色转换为状态并让一切正常工作,但我仍在手动运行 Office 脚本(运行需要 3 个小时)。
所以我转向 Power Automate 并安排它运行脚本,但它每次都失败,我认为这与 Office 脚本运行所需的时间有关,因为当我减少它运行的范围时(显着)它可以工作。任何解决此问题的帮助将不胜感激。这是我的代码:
javascript - Excel Office 脚本:遍历二维数组并使用 setValues 写入数据
我目前使用 Excel Office 脚本从 Jotform API 获得响应。
在我的 Json 响应中,在我的数组的第一级,我得到了一些信息,例如“提交 ID”和“提交的时间戳”,然后我有一个包含该提交的所有答案的关键“答案”(可能是 150 个答案) . 所以它是一个二维数组。
在所有迭代之后,我无法使用 setValues 并一次性在 Excel 中编写所有答案。
这是我的迭代,其中行将是“提交 ID + 时间戳”,然后在它旁边,子行将包含该提交的所有答案,每个答案都是一个 Excel 行
我的问题是所有子行(所有答案)都写在一行中,没有一个答案/一行。
我可以在迭代中使用 setValues,但我总是尽量不要太慢,因为它会减慢工作速度。
最好能够制作一个大数组并在一个 setValues 中完成所有操作。
任何想法 ?
非常感谢,
塞德里克
fetch - 通过 Office Scripts Fetch 调用 API 时出现 CORS 问题
我正在尝试通过 Office 脚本(获取)对我创建的公开可用的基于 Azure 函数的 API 进行 API 调用。根据政策,我们需要为 Azure Functions 启用 CORS。我已经尝试了所有我能想到的域,但除非我允许所有来源,否则我无法接到工作电话。我试过了:
- https://ourcompanydoamin.sharepoint.com
- https://usc-excel.officeapps.live.com
- https://browser.pipe.aria.microsoft.com
- https://browser.events.data.microsoft.com
第一个是我试图从中执行的 Excel Online 域,其余的是在 Chrome 的“网络”选项卡中运行的脚本期间出现的。office Scripts 中的错误消息并没有像 Chrome 控制台那样告诉我请求来自哪个域。我需要什么主机才能让 Office 脚本能够调用我的 API?
office-scripts - 突出显示距离 3 个月以内的日期
我有一个简单的电子表格列出证书和到期日期。在我们将其移至在线共享点之前,我们有一个宏,而不是在打开电子表格时会检查一系列单元格中的日期并突出显示三个月内的日期。它的目的是在过期之前突出显示任何需要更新的内容。
我很欣赏宏不是 Excel Online 中的选项。这(或非常相似的东西)可以在 Office 脚本中实现吗?
typescript - Office 脚本“无法加载 [代码] [库]”错误
我有一个类应该将 excel 表的值保留为属性。如果我放入getValues()
类构造函数中,脚本将失败,并显示failed to load [code] [library]错误(来自编辑器控制台输出的完整消息)。
作为一种解决方法,我getVals()
在类实例初始化之后调用该方法,但我想避免那个额外的调用。
我在这里做错了什么?是与 TypeScript 的工作原理(刚开始学习)有关,还是与 Office Script API 相关?
excel - 如何将 Excel Online 中的 Excel 工作簿另存为 PDF 文件?
我的目标是将 Excel 工作簿(在线保存在 Excel 中)保存为 PDF,最好保存到 MS OneDrive 或 Sharepoint,但如果需要,保存到我的本地 PC。
我的问题是,目前这是否可能?
这是我到目前为止所做的:
- 在 Excel 在线中寻找另存为 (PDF) 的可能性:似乎不可用。
- 在 Excel 行中寻找导出可能性:似乎不可用。
- 使用 Office 脚本:记录以下操作字符串:打印 -> 下载:打开一个新选项卡,当返回到浏览器中的原始 Excel Online 选项卡时,似乎没有任何记录。
- 顺便说一句:当我打印时 -> 下载而不记录,当然 Excel 会下载到我的本地 PC,但名称为“文档”。在我的本地 PC 上重命名之外,似乎没有办法在下载之前/期间重命名文档。或者有吗?
为什么我需要此功能(意思是:能够将 Excel 在线 Excel 工作簿另存为 .PDF)?这是因为我从一个 Excel 工作簿创建了许多其他 Excel 工作簿,然后我需要将它们保存为 Excel 和 PDF。这是为了从一个“母亲”Excel 工作簿生成多种语言的多个价目表。目前我使用“本地”Excel / VBA 执行此操作,但我想将其迁移到云端。如果不使其变得更加复杂或似乎根本不可能,这目前似乎是不可能的。
非常感谢您提供有关合适方法的任何提示或指示。