![](/img/trans.png)
[英]Trigger/run a function in client side with onChange(). Google App Script
[英]Google Script: How run function ShowModalDialog with trigger?
情况:
我有以下代码,此功能需要每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块
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)}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.