【发布时间】:2019-09-22 17:29:28
【问题描述】:
为了保护代码(让人们看不到它),我从一个独立的脚本管理我的电子表格。
除了激活工作表或单元格之外,所有函数都可以工作(这些函数与绑定脚本一起工作,计算正确,单元格被激活)。
我尝试从独立脚本激活工作表,然后将其添加为库并从我的文件的绑定脚本中调用。没有任何作用。
我需要在电子表格打开时激活工作表和单元格。
这是我的代码(绑定到电子表格):
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
}
}
}
当我从绑定脚本运行它时,它会找到此电子表格和工作表,并正确计算最后一行。但是当我从脚本运行时,它什么也没做。
如何从独立脚本激活工作表和单元格?如有任何建议,我将不胜感激。
【问题讨论】:
-
Ppl 可以很容易地从绑定脚本中获取你的库代码:
Logger.log(RandomNetwork.goToLastBlock) -
堆栈片段应仅用于可执行的 HTML/CSS/JavaScript 代码。在极少数情况下,它可以用于 Google Apps Script 客户端代码,但“从不”用于服务器端代码(您应该为您的服务器端代码创建一个 api,这对于大多数 Google Apps 脚本来说太令人费解了问题。
-
@TheMaster 哇。安全解决方案是什么?
-
抱歉@Ruben 没有明白你所说的)
-
@kiki 您的安全问题到底是什么?您需要阻止人们看到代码还是需要阻止他们修改代码?如果您不希望人们看到代码,是否有特殊原因?大多数“秘密”可以使用properties service 隐藏。
标签: google-apps-script google-sheets google-apps-script-editor