我想在办公时间运行一个应用程序脚本,每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");
}
}