【发布时间】:2015-06-05 13:55:37
【问题描述】:
在 Google 电子表格中,我有一个长脚本,它分步执行许多操作,例如:
function MyLongScript()
{
var Results1 = Action1();
//send feedback 1
var Results2 = Action2(Results1);
//send feedback 2
var Results3 = Action3(Results2);
//send feedback 3
//end code
}
我想向用户显示一个对话框,告诉他们脚本正在运行并更新脚本的每个步骤,例如“Action1 完成”、...、“Action2 完成”等等。
所以,我有一个 HTML 界面,其中包含一些带有这些步骤的表格行。问题是:如何让对话框看到代码执行了某个步骤?
现在我正在尝试在加载后从对话框中启动代码:
$(function() {
google.script.run
.withSuccessHandler(MainCodeSuccess)
.withFailureHandler(MainCodeFailure)
.MyLongScript();
}
并通过 UI 和 HtmlService 调用对话框:
function CallDialog()
{
var ui = HtmlService.createTemplateFromFile('FeedbackWindow')
.evaluate()
.setWidth(300)
.setHeight(500);
SpreadsheetApp.getUi().showModalDialog(ui, "Dialog Title");
}
我需要的是对话框脚本中的getStatus() 或服务器脚本中的sendStatus()。
实现这一目标的最佳方法是什么?
【问题讨论】:
标签: javascript html google-apps-script client-server google-spreadsheet-api