我也接受了@pcw11211 给出的答案。我通过将 htmlmodalDialog 调用封装在一个可以打开或关闭对话框的函数中来稍微修饰一下。我也在那里添加了一些 html 样式。还要注意那里的 htmlmodalDialog 周围的 try/catch,以便在您从脚本编辑器进行测试时脚本仍然可以运行,否则主脚本有时(?)会因上下文错误而停止。
/**
* HELPER FUNCTION : TO OPEN & CLOSE MODAL DIALOGUE
*/
function htmlmodalDialog(title, text, close){
var htmlText = '<div>' + text + '</div>';
htmlText += '<style type="text/css">';
htmlText += 'body{text-align: center; font-family: Roboto, Arial, sans-serif; font-size: 14px;}';
htmlText += 'div{margin: auto;}';
htmlText += '</style>';
if(close){htmlText += '<script>google.script.host.close();</script>';}
var htmlOutput = HtmlService
.createHtmlOutput(htmlText)
.setHeight(60)
.setWidth(200);
try {
SpreadsheetApp.getUi().showModalDialog(htmlOutput, title);
}catch(e){
Logger.log('function htmlmodalDialog(title, text, close)');
Logger.log(e);
}
}
该函数从主代码调用如下,最后一个参数是一个打开/关闭布尔值。
htmlmodalDialog('Starting', 'Working ...', false);
//do something here
htmlmodalDialog('Finished', 'Operation completed.', true);
希望这可以帮助某人。