繁体   English   中英

如何使用单元格的应用程序脚本将 Google 表格数据验证添加到列中,以仅允许输入颜色和十六进制颜色代码

[英]How do I add Google sheets data vaildation to a column using apps script for cells to only allow colors and hex color codes to be inputted

请参阅此处的电子表格图像示例:Google 表格单元格可能只允许输入“棕色”、“红色”、“绿色”等和十六进制颜色代码,例如#03fca9。 如何使用整个专栏的应用程序脚本来解决这个问题? 任何帮助将不胜感激!

您可以使用 Apps 脚本进行验证,但不是必须的。 突出显示目标范围,选择“数据验证”->“自定义公式是”并输入以下公式:

=REGEXMATCH(A1,"([#0-9a-fA-F]){6}|green|red|blue|purple")

验证将基于公式的计算结果是否为 TRUE。 我不是 REGEX 的专家,所以可能有更好的选择来编写这个表达式。 例如,我的表达式不会拒绝空格等。缺点是您必须手动列出所有颜色别名。 此外,该表达式仅根据模式测试用户输入 - 无法检查输入是否为有效颜色。

在代码中,您可以通过调用 DataValidationBuilder 类的此方法来构建规则并将其应用于范围

var range = SpreadsheetApp.getActive().getRange('A1:A');
var rule = SpreadsheetApp.newDataValidation().requireFormulaSatisfied('=REGEXMATCH(A1,"([#0-9a-fA-F]){6}|green|red|blue|purple")').build();
range.setDataValidation(rule);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM