我想隱藏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