打印用于在指定列的任何单元格中输入数据的当前时间,日期和用户名

问题描述 投票:1回答:1

仅在c列的任何单元格中输入数据时,打印A列的任何单元格的当前时间和日期以及B列的任何单元格的用户名

注意:-从第二行开始打印当前时间,日期和用户名-修改列c中的任何单元格时,请勿仅更新列A中的当前时间和日期-删除列c Explanation

中任何单元格中的数据时,删除当前日期,时间和用户名。
google-apps-script google-sheets
1个回答
1
投票

这需要可安装的onEdit()触发器。

function onInstallableEdit(e) {
  if(e.range.getSheet().getName()=='Sheet188') {
    if(e.range.columnStart==3 && e.range.rowStart>1) {
      if(e.range.offset(0,-2).isBlank()) {
        e.range.offset(0,-2).setValue(Utilities.formatDate(new Date(), Session.getScriptTimeZone(), " HH:mm:ss E MMM dd,yyyy"));
      }
      e.range.offset(0,-1).setValue(Session.getActiveUser().getEmail());
    }
  }else{
    return;
  }
}

function installonEdit() {
  if(!isTrigger('onInstallableEdit')) {
    ScriptApp.newTrigger('onInstallableEdit').forSpreadsheet(SpreadsheetApp.getActive()).onEdit().create();
  }
}

function isTrigger(funcName){
  var r=false;
  if(funcName){
    var allTriggers=ScriptApp.getProjectTriggers();
    for(var i=0;i<allTriggers.length;i++){
      if(funcName==allTriggers[i].getHandlerFunction()){
        r=true;
        break;
      }
    }
  }
  return r;
}

function onOpen() {
  SpreadsheetApp.getUi().createMenu('My Menu')
  .addItem('Install On Edit Trigger','installonEdit')
  .addToUi();
}
© www.soinside.com 2019 - 2024. All rights reserved.