为了保护代码(这样人们看不到(,我将电子表格从独立脚本管理。
除了激活表或单元格之外,所有功能都起作用(这些功能与绑定脚本一起工作,计算正确,单元格被激活(。
我试图从独立脚本中激活表格,然后将其添加为库,并从文件的界脚本调用。无效。
我需要激活电子表格打开的纸张和单元格。
这是我的代码(绑定到电子表格(:
function onOpen() {
RandomNetwork.goToLastBlock()
}
这是库中的代码(独立脚本(:
//goes to the last block on the sheet
function goToLastBlock() {
var file = SpreadsheetApp.openById("1kTOcxVv7RgIvp-BVvbZyBbeE92HiAKm8hbFURh19Enc")
var sheets = file.getSheets()
for (var i in sheets) {
var sheetID = sheets[i].getSheetId()
if (sheetID === 908402362) {
var lr = sheets[i].getLastRow()
var cell = sheets[i].getRange(lr, 1)
sheets[i].activate()
sheets[i].setCurrentCell(cell)
return
}
}
}
当我从绑定脚本运行时,它找到了该电子表格和表格,请正确计算最后一行。但是当我从脚本跑来时,它没有做任何事情。
如何从独立脚本中激活表格和单元格?我会感谢任何建议。
每次您更改库中的代码时,都需要发布新版本,并且还必须在库中的绑定脚本中更改版本号。
作为测试,我将以下代码放在独立的脚本中:
//goes to the last block on the sheet
function goToLastBlock() {
var file = SpreadsheetApp.getActive();
var sheets = file.getSheets()
var theSheet = sheets[0];
var lr = theSheet.getLastRow()
var cell = theSheet.getRange(lr, 1)
theSheet.activate()
theSheet.setCurrentCell(cell)
return theSheet.getSheetName();
}
然后,从绑定到表格的脚本,我将库(单独(添加到界脚本中,然后从界脚本运行代码:
function onOpen() {
RandomNetwork.goToLastBlock()
}
代码激活了最后一行的单元列。
我以Web应用程序发布了库,以执行为"用户访问Web应用程序"one_answers"组织中的任何人"
它对我提供了提供的示例代码并按照所述进行设置。
您无法从独立脚本中激活表格和单元格。
只有包装容器的脚本才能制作床单&范围有效。您正在使用的特定方法在容器的描述中没有明确提及,但这是现实。
库具有更多细微的范围,您可以在此处阅读更多有关此信息的信息。如表中所示(链接中(,库可以访问容器。从本质上讲,由于包含容器的脚本使用库,因此将独立脚本复制(如果您将愿意(,则在包含容器的脚本上,因此可以访问这些特权方法。