【发布时间】:2019-04-07 02:55:15
【问题描述】:
我正在为我的 Google 表格创建一个“文件演练”,以帮助用户了解如何使用它。我目前正在激活范围,然后发出警报以向用户显示有关该范围的一些上下文。但是,这些行没有按顺序执行。
我尝试使用 Utilities.sleep(5000) 将警报和选择拆分为单独的函数,并使用 setBackground() 而不是 activate 突出显示,但一切都具有相同的结果。即使我只有一个激活和一个警报,它似乎也触发了故障
function setup_file_walkthrough(){
var budgetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Budget');
var ui = SpreadsheetApp.getUi();
budgetSheet.activate();
ui.alert('This is the budget tab ...');
budgetSheet.getRange('F:F').activate();
ui.alert('This is a column...');
}
我希望选择工作表/范围,然后会出现一条弹出消息。用户单击确定,然后继续选择下一个范围,并出现另一条消息,等等。
但是,我尝试过的所有结果都是一样的:所有消息一个接一个地弹出,工作表中没有任何变化,然后直接进入最后一个 .activate。几乎就像我是这样写的(事实上,这 2 个代码 sn-ps 给了我相同的结果):
function setup_file_walkthrough(){
var budgetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Budget');
var ui = SpreadsheetApp.getUi();
ui.alert('This is the budget tab ...');
ui.alert('This is a column...');
budgetSheet.getRange('F:F').activate();
}
【问题讨论】:
-
另见显式方法
SpreadsheetApp#setActiveSheet,在其他 UI 代码之前刷新可能更有意义
标签: javascript google-apps-script google-sheets