google-apps-script - 功能未触发
问题描述
我正在尝试使用一个函数来获取单元格背景的十六进制代码,并将其与同一单元格中包含的文本连接起来。
即在sht1.cell(A1)
我输入红色背景的“Hello”时,我会在 sht2.cell(A1)
以下文本中输入:“[#FF0000]Hello”
我正在尝试这个:
function getHexValue(range) {
return SpreadsheetApp.getActiveSheet().getRange(range).getBackground();
}
但它并不总是有效,特别是如果我共享文件。我尝试使用编辑、更改或打开事件设置一些触发器,但 id 一直没有更新 这是我试图做的。
有什么建议吗?
如果我输入:=gethexvalue("A5")
我得到颜色代码,如果我将公式输入到另一个单元格或另一个工作表并且我更新值或重新加载工作表它不起作用。
解决方案
在您的公式=gethexvalue("A5")
中,“A5”是文本,而不是动态范围。
阅读如何将范围传递给 Google 电子表格中的自定义函数?完整的讨论和 11 个不同的答案。这本身就是将单元格引用传递给电子表格函数的可能副本。
这=getHexValue(ADDRESS(ROW(A1), COLUMN(A1)))&A1
是动态的。它将返回:
“#ff0000你好”
. 如果您想要大写的十六进制,则将 UPPER 与 getHexvalue 一起使用。
推荐阅读
- php - 发送 PHP 变量 - setInterval 只工作一次
- php - 如何在 Laravel 中将日期字符串更改为单词?
- java - OSMDroid - 如何设置两个瓦片源?
- node.js - 尝试使用 npx create-react-app 时出现超时错误
- vue.js - 如何从 Vuetify 的 v-data-table 中删除单击的行?
- javascript - css脚本工作但js脚本在Django中不起作用
- swift - 设置嵌套结构并通过 FireStore [Swift] 填充
- flutter - 如何在 Flutter 中的时间选择器的标题上添加一些文本?
- excel - 我可以在 Excel 数据连接属性中使用通配符运算符吗
- python - 如何保留一个系列的最后四个字母?