【发布时间】:2019-11-28 03:03:27
【问题描述】:
我有一个在 Google 驱动器中创建的脚本,因为我希望它成为电子表格的独立脚本 - 主要是因为其他用户一直在摆弄这些脚本并且工作表在我发现之前无法正常运行所有的问题!
其中一个脚本是这样的:
var SORT_COLUMN_INDEX = 2;
var ASCENDING = true;
var NUMBER_OF_HEADER_ROWS = 2;
var activeSheet;
function autoSort(sheet) {
var range = sheet.getDataRange();
if (NUMBER_OF_HEADER_ROWS > 0) {
range = range.offset(NUMBER_OF_HEADER_ROWS, 0);
}
range.sort( {
column: SORT_COLUMN_INDEX,
ascending: ASCENDING
} );
}
function onClickButton() {
var sheet = SpreadsheetApp.getActiveSheet();
autoSort(sheet);
}
我在网上找到了这个,它显然将应用脚本链接到电子表格,但这对我不起作用...var ss = SpreadsheetApp.OpenFileById(xxx__xxx)
-
(xxx__xxx)是电子表格 id,取为:https://docs.google.com/spreadsheets/d/xxx__xxx/edit#gid=1611726502
这只是在我运行脚本时返回以下内容:
TypeError: Cannot find function OpenFileById in object.
请有人协助我将代码 var ss = SpreadsheetApp.OpenFileById(xxx__xxx) 放在脚本中的哪个位置,或者根据工作表 ID 查找电子表格的最佳脚本?
附言如果这有什么不同,我将需要运行函数onClickButton...
【问题讨论】:
-
这看起来像一个容器绑定脚本。因此,如果您想通过单击按钮运行功能,则必须创建一个 webapp,以便您可以使用 html 创建按钮。这绝对不是学习 Google Apps 脚本的最简单方法。
-
您可以从独立脚本访问您可以使用
SpreadsheetApp.openById();访问的任何电子表格。注意:这实际上并不像用户打开电子表格那样打开电子表格。
标签: google-apps-script google-sheets