google-apps-script - 在谷歌表格中自动填充日期
问题描述
当我输入部署在 Y 列(25)中时,我试图将日期填充到谷歌表的 AC 列(29)中。这是我当前创建的脚本,无法弄清楚为什么它不起作用。
函数 onEdit(e) {
var colToWatch = 25, colToStamp = 29;
var valueToWatch = "Deployed";
if (e.range.columnStart === colToWatch && (e.value === valueToWatch || typeof e.value == 'object'))
e.source.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.setValue(typeof e.value === 'object' ? null : new Date());
}
解决方案
columnStart()
并且rowStart()
不是 Google Apps 脚本中 Range 对象可用的方法。您需要使用getColumn()
andgetRow()
来代替。鉴于您已经在使用 ,并且它未在您的问题描述中列出,因此似乎没有必要多次检查值类型===
,因此我将其删除。此外,该typeof
值必然是一个字符串——它永远不会是一个对象。
function onEdit(e) {
var colToWatch = 25, colToStamp = 29;
var valueToWatch = "Deployed";
if (e.range.getColumn() === colToWatch && e.value === valueToWatch) {
e.range.getSheet().getRange(e.range.getRow(), colToStamp).setValue(new Date());
}
}
推荐阅读
- websphere - 使用 check_was Nagios 插件监控 WebSphere 门户线程池时出错
- spring - @Valid 注释适用于 @RequestBody 但不适用于 RequestEntity
- asp.net - 文本的经典asp加密
- laravel - 如何在phpunit laravel中通过嘲笑传递函数使用查询构建器
- javascript - 第二次调用 ng-keyup 时无法访问它
- java - 如何将 Map Reduce 程序与 Web 应用程序集成
- scala - Scala 对 JSON 序列化的密封特性
- angular - Angular 6 项目:如何在不使用 styleUrls 的情况下加载 scss 文件
- wcf - 当 IIS 在域用户身份下运行时,WCF netTcpBinding 失败(SSPI 身份验证失败)
- java - 从左上角到右下角对角线读取 marix 的所有元素