【发布时间】:2021-04-13 04:32:37
【问题描述】:
目标: 将当前日期或明天的日期插入到用户编辑的 K 列/行下的单元格中,具体取决于用户何时将 D 列下的单元格更改为“聊天 => 电子邮件”。如果可能的话,我希望日期的比较和输出基于 JST(日本标准时间)时区。
我的代码上下文: 在下面的代码中,我创建了一个名为“insertDeadlineDate()”的函数,它从另一个 .gs 文件接收 onEdit() 信息。在 insertDeadlineDate() 代码中,我尝试创建一个 if 语句来检查以下几点并执行结果。
- 如果用户将单元格值更改为“聊天 => 电子邮件”并且当前时间在上午 9:30 之间。和下午 2:00 (JST),然后将当天的日期插入到用户编辑的 K 列/行。
- 如果用户将单元格值更改为“聊天 => 电子邮件”并且当前时间在下午 2:00 之间。和下午 6:30 (JST),然后将当天的日期插入到用户编辑的 K 列/行。
仅供参考:我的 IF 语句为空白,因为我不知道该写什么。对不起……
function insertDeadlineDate(range, sheetName, row, column) {
const statusSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Status');
const editedRangeValue = range.getValue();
// Column numbers for Status sheet
const caseTypeColumnStatus = 4;
if (sheetName == 'Status' && column == ticketTypeColumnStatus && row > 15 && editedRangeValue == 'Chat => Email') {
var statusColumn = column + 3;
if () { // If the current time is between 9:30 A.M. and 2:00 P.M. (JST), then TRUE.
// Insert today's date
statusSheet.getRange(row, statusColumn).setValue(new Date());
} else if () { // If the current time is between 2:00 P.M. and 6:30 P.M. (JST), then TRUE.
// Insert tomorrow's date
statusSheet.getRange(row, statusColumn).setValue();
}
}
}
【问题讨论】:
-
只是为了澄清这个场景,如果当前时间在下午 6:30 (JST) 和上午 9:30 之间会发生什么 - 或者您的脚本永远不会出现这种场景?
-
感谢您的提问!!因此,如果当前时间在下午 6:30 到上午 9:30 之间,那么我宁愿脚本什么也不做!
标签: google-apps-script google-sheets