运行Google appscript工作日间隔时间和每x分钟



我想在办公时间运行一个应用程序脚本,每15分钟。

我在这里找到了一个脚本,但是它给了我错误

TypeError: Cannot read properties of undefined (reading 'day-of-week')

function Record(e) {
if (e['day-of-week'] < 6 && e.hour > 8 && e.hour < 17) {
SpreadsheetApp.getUi().alert("Alert message");
}
}
//only creates one trigger for the handlerfunction
function createTimeBasedTrigger() {
if (ScriptApp.getProjectTriggers().filter(t => t.getHandlerFunction() == "Record").length == 0) {
ScriptApp.newTrigger("Record").timeBased().everyMinutes(15).create();
}
}

谁能告诉我该怎么做?我试着

['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']

但它没有工作。

可以使用Date类查看星期几和当前时间。

const now = new Date();
const dayOfWeek = now.getDay();
const hour = now.getHours();
const isBusinessHour = dayOfWeek < 6 && dayOfWeek > 0 && hour >= 8 && hour <= 17;
document.querySelector("#answer").innerText = isBusinessHour && "Yes!" || "No!"
<h3>Are we currently in business hours?</h3>
<h4 id="answer"></h4>

所以你只需要在Record()函数中使用这个逻辑。

function Record(e) {
const now = new Date();
const dayOfWeek = now.getDay();
const hour = now.getHours();
const isBusinessHour = dayOfWeek < 6 && dayOfWeek > 0 && hour >= 8 && hour <= 17;
if (isBusinessHour) {
SpreadsheetApp.getUi().alert("Alert message");
}
}

最新更新