如何创建"加载"弹出谷歌表?

时间:2017-02-20 20:40:27

标签: google-apps-script google-sheets

我正在使用' importrange'在两张纸之间进行双向设置,隐藏专有公式,需要几秒钟才能将结果更新到当前工作表。我想做的是有一个"请等待加载......"当输入单元格中的用户信息时,框会弹出X秒。我已经看过弹出窗口的一些例子但不确定如何在更新单元格时这样做....有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您还可以在电子表格中使用祝酒词:

Spreadsheet Toast

 // Show a 3-second popup with the title "Status" and the message "Task started".
 SpreadsheetApp.getActiveSpreadsheet().toast('Task started', 'Status', 3);

答案 1 :(得分:1)

这使用了javascript计时器。它将显示一个无模式对话框,持续5秒,然后消失。当然你可以在那里放置你喜欢的任何动画。我包含了几乎所有时间都使用的dispStatus函数。这可能不是最好的方式。但它确实有效。

 function timer_test()
{
dispStatus('Loading.....','<script>var myVar = setInterval(myTimer ,5000);function myTimer() { google.script.host.close();}</script>',200,200)
}

function dispStatus(title,html,width,height)
{
// Display a modeless dialog box with custom HtmlService content.
  var title = typeof(title) !== 'undefined' ? title : 'No Title Provided';
  var width = typeof(width) !== 'undefined' ? width : 250;
  var height = typeof(height) !== 'undefined' ? height : 300;
  var html = typeof(html) !== 'undefined' ? html : '<p>No html provided.</p>';
  var htmlOutput = HtmlService
     .createHtmlOutput(html)
     .setWidth(width)
     .setHeight(height);
 SpreadsheetApp.getUi().showModelessDialog(htmlOutput, title);
}