我正在写我的第一个谷歌应用程序脚本。电子表格在onOpen()
中打开一个边栏。侧边栏有按钮和在SidebarJavaScript.html我有侦听器的按钮。我在监听器中调用SpreadsheetApp.getActiveSpreadsheet()
,在这行之后脚本没有执行。
这里可能出了什么问题?
function onScrapeClick(){
// Disable Button
this.disabled = true;
// Get Spreadsheet
var sheet = SpreadsheetApp.getActiveSpreadsheet();
this.innerHTML ="Clicked";
var data = sheet.getDataRange().getValues();
}
按钮被禁用,因为行this.disabled = true;
如预期的那样,所以列表工作正常。
您必须定义在.gs
文件中获取数据的方法,并使用google.script.run
调用它。
在某些Code.gs
文件中:
function getSheetData()
{
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var data = sheet.getDataRange().getValues();
return data;
}
在html脚本中:
function onScrapeClick(){
// Disable Button
this.disabled = true;
// Get Spreadsheet
this.innerHTML ="Clicked";
google.script.run
.withSuccessHandler(
function(data, element) {
// code to execute if data was gotten ok
// the received data is in data argument
})
.withFailureHandler(
function(msg, element) {
// code to execute if data was not gotten ok
})
.getSheetData();
}
getValues是工作表类的一个方法,您只需要定义活动的工作表
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();