当前位置: 首页 > 知识库问答 >
问题:

返回电子表格对话框的值

蔡默
2023-03-14

目标:

将应用程序脚本函数中的数据返回到自定义电子表格HTML表单中。

问题:

脚本返回“未定义”

应用程序脚本:

function displaySSUI(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var html = HtmlService.createTemplateFromFile("index.html").evaluate();
  ss.show(html);
  return
}

function returnVal () {
   Logger.log("So far so good")            // Displays in Apps Script Logger
   return "Good"
}

电子表格超文本标记语言对话中的脚本:

<script>
   var str = google.script.run.returnVal()
   alert(str);                             // Alert box says undefined
</script> 

共有1个答案

仰钧
2023-03-14

因为google。剧本run将异步运行,它不能立即返回值。这就是str未定义的原因。

您需要创建一个回调函数来访问返回值:

<script>
  //function to be called when .returnVal() returns
  var onSuccess = function(str) {
    alert(str);
  }

  //use .withSuccessHandler() to set the callback function
  var str = google.script.run.withSuccessHandler(onSuccess).returnVal()
</script> 
 类似资料:
  • 人若自洁,脱离卑贱的事,就必作贵重的器皿,成为圣洁,合乎主用,预备行各样的善事。你要逃避少年的私欲,同那清心祷告主的人追求公义、信德、仁爱、和平。惟有那愚拙无学问的辩论,总要弃绝,因为知道这等事是起争竞的。(2 TIMOTHY 2:21-23) 电子表格 一提到电子表格,可能立刻想到的是excel。殊不知,电子表格“历史悠久”,比Word要长久多了。根据维基百科的记载整理一个简史: VisiCal

  • 我很难找到将多张工作表同步到主电子表格的方法。在我的测试中,我有一个大的电子表格,上面有5个城市的地址。我正在尝试为每个城市创建一个电子表格,并能够在任何一个表格中更改数据时同步数据。因此,我将管理总体数据,5张电子表格中的每一张都将分配给其他人。这样,他们就可以在不访问所有数据的情况下更新工作表。使用内置查询或导入功能的问题是,如果用户在“城市”电子表格上进行更改,它将破坏该表格,因为数据被引用

  • 问题内容: 我有一个自定义对话框,当我尝试获取EditText的值时,它返回null。 该行返回null 这是完整的代码。 问题答案: 尝试这个: 你必须告诉在哪个视图中找到ID。否则,它将尝试通过xml布局(通常在中声明)夸大视图中的ID。

  • 本章介绍如何使用Java创建电子表格并对其进行操作。 电子表格是Excel文件中的页面; 它包含具有特定名称的行和列。 完成本章后,您将能够创建电子表格并对其执行读取操作。 创建电子表格 首先,让我们使用前面章节中讨论的引用类创建一个电子表格。 按照上一章的说法,首先创建一个工作簿,然后我们可以继续创建一个工作表。 以下代码段用于创建电子表格。 //Create Blank workbook XS

  • 问题内容: 我很容易发现错误。我没有发现任何错误,但是我没有从editText中获取任何文本。请看下面的代码: activity_pwd.xml 我立即打电话给 Lock(this);* on MainActivity的 onCreate 方法 * 对数 您可以看到上面的日志,我已将edittext值与“ i”连接起来,但未返回任何值。.我尝试清除数据,卸载应用程序,清理,构建所有内容,但始终得到

  • 我正在尝试从多个google电子表格中删除一个特定的表格。 我有一个主电子表格,从所有其他电子表格收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,如添加工作表、重命名工作表、隐藏和锁定工作表。 但无法删除其他电子表格中的表格。查看了其他线程,但找不到任何解决方法。 这就是我到目前为止得到的。它停在这一排: "fname.delete表(本周);}" 我很感谢大家对我的帮助,因为