簡體   English   中英

如何針對本地時間修復 Google Apps 腳本並自動清除單元格

[英]How to fix Google Apps Script for local time and automatically clear a cell

我正在創建一個必須由不同的人來完成的共享議程。 每次他們修改某個單元格時,更改日期(天)都會在同一行的另一個單元格中報告。 下面的代碼目前正在運行,但有 3 個小問題:

  1. 當地時間不正確(我住在意大利)
  2. 我也想看時間(小時:分鍾)
  3. 如果修改的單元格被清除(如文本被刪除),更改日期也應該消失。

我發現這種類型的代碼難以調試,希望得到任何幫助。 先感謝您,

function onEdit(event) {
var cell = event.source.getActiveCell();   
var sheet = cell.getSheet();
var headers= sheet.getDataRange().getValues()[0]; 
var statusCol = headers.indexOf('Status') + 1 ; 

var ss = event.source.getActiveSheet();
if (event.range.columnStart != 2) {

} else {
    ss.getRange(event.range.rowStart, 5)
        .setValue(getDate(new Date()));
}

var tt = event.source.getActiveSheet();
if (event.range.columnStart != 34) {
    return;
} else {
    tt.getRange(event.range.rowStart, 37)
        .setValue(getDate(new Date()));
}
}

function getDate(d) {
if (d) {
    return d.getDate() + "/" + (d.getMonth()+1) + "/" + d.getYear();
}
}

如果刪除單元格內容,則添加時區、小時、分鍾並刪除日期時間。

它以 24 小時格式添加小時和分鍾,並進行時區校正,如果 e.value 為空,則刪除日期時間單元格的內容。

function onEdit(e) {
  var ss=e.source;
  var rg=e.range;   
  var sh=rg.getSheet();
  if(rg.columnStart!=2 && rg.columnStart!=34){return;}
  if(rg.columnStart==2){
    if(e.value) {
      sh.getRange(rg.rowStart, 5).setValue(Utilities.formatDate(new Date(new Date().getFullYear(),new Date().getMonth()+1,new Date().getDate(),new Date().getHours(),new Date().getMinutes()),Session.getScriptTimeZone(),"d/MMM/yyyy HH:mm"));
    }else{
      sh.getRange(rg.rowStart, 5).setValue('');
    }
  }
  if (rg.columnStart==34) {
    if(e.value) {
      sh.getRange(rg.rowStart, 37).setValue(Utilities.formatDate(new Date(new Date().getFullYear(),new Date().getMonth()+1,new Date().getDate(),new Date().getHours(),new Date().getMinutes()),Session.getScriptTimeZone(),"d/MMM/yyyy HH:mm"));
    }else{
      sh.getRange(rg.rowStart, 37).setValue('');
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM