是否可以使用编辑功能来确定单元格的值是否包含单元格的大写字母或背景颜色更改

时间:2015-05-14 14:31:32

标签: google-apps-script google-sheets google-spreadsheet-api

Good Afternoon Stackers!

我有一个我正在处理的时间戳脚本,用于在列的右侧列中标记时间,我输入一个人的姓名。当脚本工作并且输入文本时出现时间戳...我希望进一步改进这一点并且想知道是否有可能谷歌脚本onEdit函数识别输入的值是否包含大写字母...或者如果onEdit可以检测到单元格背景颜色的变化。

我搜索过并取得了有限的成功。寻找某人帮助我指出正确的方向......或者至少确认这项任务是否可行。

提前致谢!!!

function onEdit(e) {
var s = e.source.getActiveSheet().getName();
var cols = [3, 5, 7, 10, 12, 14, 17, 19, 21];
var curDate = Utilities.formatDate(new Date(), "GMT-4", "dd/h:mm           a")


if 
  (s !== 'SHEET 1' && s
!== 'SHEET 2' || cols.indexOf(e.range.columnStart) ==-1 || 
!e.range.getValue()) return;
e.range.offset(0,1).setValue(curDate);
}

1 个答案:

答案 0 :(得分:1)

要确定编辑范围内是否有大写字母,您需要在事件值上使用javascript函数。(如果编辑是粘贴的结果,那么您需要在事件上使用getValue()方法范围财产)。类似于:大写如果:

var val = e.range.getValue();
if(val.toString() != val.toString().toLowerCase()) \\ contains Upper

更改颜色不会触发和编辑事件。