我想隐藏Google电子表格中特定工作表的所有行(spreasheet包含其他工作表)。要隐藏的行是由两个prompt
命令(first_r和last_r)给出的两个整数之间的ID。Javascript HideRows(Google Sheet脚本编辑器)
当我点击按钮hide
,我得到两个提示窗口,但是一个“成品脚本”,但行不隐藏。
这里是我的代码
function hide(){
var ui = SpreadsheetApp.getUi();
var first_r_str = ui.prompt('First row to hide');
var last_r_str = ui.prompt("Last row to hide");
var first_r = parseInt(first_r_str);
var last_r = parseInt(last_r_str);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('MYSheet');
for (i = first_r; i <= last_r; i++){
sheet.hideRows(i);
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Hide Rows', 'hide')
.addToUi();
}
我的代码是在脚本编辑器(从电子表格顶部的菜单,选择工具,然后脚本编辑器)
[UI似乎并不具有hideRows方法(https://developers.google.com/apps-script/reference/base/ui)你想要得到的[表](HTTPS: //developers.google.com/apps-script/reference/spreadsheet/sheet)并隐藏行。 –
谢谢@RobinGertenbach!我用“sheet.hideRows(i);”试过(并编辑了上面的代码),仍然得到相同的结果:行不隐藏。但是,如果我在'for'循环之前添加这些comamnds'sheet.hideRows(50); sheet.hideRows(51); sheet.hideRows(52); ' 然后这3行被隐藏。所以在我的'for'循环中似乎有些错误 – Enora