gpt4 book ai didi

javascript - 谷歌脚本: How run function ShowModalDialog with trigger?

转载 作者:行者123 更新时间:2023-12-02 13:51:48 25 4
gpt4 key购买 nike

情况:

我有以下代码,该函数需要每 5 分钟检查一次列 (H),如果单元格值为“CALL”,则显示对话框。
现在,如果我从 google 脚本运行该函数,单击“播放”,该函数运行得很好...但是当我将此函数设置为每 5 分钟按时运行一次时,该函数没有运行。

function alertDialog() {
var s = SpreadsheetApp.openById('URL ID');
var Support = s.getSheetByName("Shift").activate();
var lastrow = Support.getLastRow();

var data1 = Support.getRange(3, 1, lastrow).getValues(); // Ticket# Column (A)
var data3 = Support.getRange(3, 8, lastrow).getValues(); // Status Call Column (H)

///////////////////// CALL //////////////////////////

var report = " "
var callTable ="";
for(var i in data3){
if(data3[i]=='Call') { callTable += "<tr><td style='color:blue;padding:5px'>" +data1[i]+"</a>"
+ "</td><td style='background-color:red;color:white;padding:5px'; align='center'><b>" + data3[i] + "</b>"
+ "</td></tr>";

report ="<b>Pendig Call:</b><br><br><table style='border-collapse:collapse;'border = 1 cellpadding = 5; align='center'><tr><th style='background-color:black;color:white'>Ticket#</th><th style='background-color:black;color:white'>Status Call</th></tr>"+callTable+"</table><br><audio autoplay><source src='http://soundbible.com/mp3/sms-alert-1-daniel_simon.mp3' type='audio/mpeg'></audio>";



var htmlOutput = HtmlService
.createHtmlOutput(report)
.setWidth(400)
.setHeight(450);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Ticket Pending Call');
}

else return; // If not true
}
}


我将感谢您的帮助。

最佳答案

你可以检查你的执行记录,我收到错误:

执行失败:无法从此上下文调用 SpreadsheetApp.getUi()。

所以看起来您无法在基于时间的触发器上调用 showModalDialog (尽管我不确定您为什么要这样做)

编辑

根据您的评论,使用 try/catch block

function alertDialog() {
var s = SpreadsheetApp.openById('URL ID');
var Support = s.getSheetByName("Shift")
var lastrow = Support.getLastRow();

var data1 = Support.getRange(3, 1, lastrow).getValues(); // Ticket# Column (A)
var data3 = Support.getRange(3, 8, lastrow).getValues(); // Status Call Column (H)

///////////////////// CALL //////////////////////////

var report = " "
var callTable ="";
Logger.log('ran');

try{
for(var i in data3){
if(data3[i]=='Call') { callTable += "<tr><td style='color:blue;padding:5px'>" +data1[i]+"</a>"
+ "</td><td style='background-color:red;color:white;padding:5px'; align='center'><b>" + data3[i] + "</b>"
+ "</td></tr>";

report ="<b>Pendig Call:</b><br><br><table style='border-collapse:collapse;'border = 1 cellpadding = 5; align='center'><tr><th style='background-color:black;color:white'>Ticket#</th><th style='background-color:black;color:white'>Status Call</th></tr>"+callTable+"</table><br><audio autoplay><source src='http://soundbible.com/mp3/sms-alert-1-daniel_simon.mp3' type='audio/mpeg'></audio>";


var htmlOutput = HtmlService
.createHtmlOutput(report)
.setWidth(400)
.setHeight(450);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Ticket Pending Call');

}

else return; // If not true
}
} catch (e) { Logger.log(e)}

}

关于javascript - 谷歌脚本: How run function ShowModalDialog with trigger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40974801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com