【问题标题】:Call every even column for timestamp script为时间戳脚本调用每个偶数列
【发布时间】:2019-01-28 10:24:01
【问题描述】:

我正在尝试为我们的 Google 表格脚本创建一个时间戳。主要目标是创建一个脚本,如果将某些内容添加到任何“偶数”列,它将在每个“奇数”列中生成一个时间戳。

现在,我发现了这个:

function onEdit() {
 var s = SpreadsheetApp.getActiveSheet();
 if( s.getName() == "Sheet1" ) {
   var r = s.getActiveCell();
   if( r.getColumn() == 13 ) { 
     var nextCell = r.offset(0, 1);
     if( nextCell.getValue() === '' ) 
       var time = new Date();
       time = Utilities.formatDate(time, "GMT", "HH:mm:ss");
       nextCell.setValue(time);
   };
 };
}

它运行良好,但不幸的是,仅适用于第 13 列。如何使此代码适用于每个偶数列?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    您可以使用模运算符(如here 解释)来检查编辑的列是“偶数”还是“奇数”。假设您希望代码在“Sheet1”上运行,请查看此代码是否适合您

    function onEdit(e) {
    if(e.source.getActiveSheet().getName() !== 'Sheet1' || 
    e.range.columnStart % 2 > 0) return;
    var off = e.range.offset(0, 1);
    if(!off.getValue()){ 
    off.setValue(Utilities.formatDate(new Date(), "GMT", 
    "HH:mm:ss"))
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 2016-11-28
      • 2021-01-14
      • 1970-01-01
      • 2020-04-19
      • 2019-04-25
      • 1970-01-01
      相关资源
      最近更新 更多