Google apps script 将值返回到电子表格对话框
目标:Google apps script 将值返回到电子表格对话框,google-apps-script,google-sheets,Google Apps Script,Google Sheets,目标: 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")
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>
将应用程序脚本函数中的数据返回到自定义电子表格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>
脚本返回“未定义”
应用程序脚本:
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>
电子表格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>
var str=google.script.run.returnVal()
警惕(str);//警报框显示未定义
因为google.script.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>
//.returnVal()返回时要调用的函数
var onSuccess=函数(str){
警报(str);
}
//使用.withSuccessHandler()设置回调函数
var str=google.script.run.withSuccessHandler(onSuccess.returnVal())