1行目を非表示にする
コード.gs
function hiderow() {
var sh = SpreadsheetApp.getActiveSheet();
sh.hideRows(1);
}
1列目を非表示にする
コード.gs
function hidecol() {
var sh = SpreadsheetApp.getActiveSheet();
sh.hideColumns(1);
}
行と列の非表示を解除する
ここではすべての行と列を取得しました。
var last_row = sh.getRange("A:A").getLastRow();
var last_col = sh.getRange("1:1").getLastColumn();
var range = sh.getRange(1, 1, last_row, last_col);
コード.gs
function unhide() {
var sh = SpreadsheetApp.getActiveSheet();
var last_row = sh.getRange("A:A").getLastRow();
var last_col = sh.getRange("1:1").getLastColumn();
var range = sh.getRange(1, 1, last_row, last_col);
sh.unhideRow(range);
sh.unhideColumn(range);
}
A列で0の行だけを非表示にする
valuesを数値にして、厳密等価演算子 === で0と比較しました。
(等価演算子 == だと空欄もtureを返してしまうため)
if (parseInt(values[i], 10) === 0)
コード.gs
function hiderow_0() {
var col = "A";
var sh = SpreadsheetApp.getActiveSheet();
var range = sh.getRange(col + ":" + col);
var values = range.getValues();
var last_row = sh.getLastRow();
for (var i = 0; i < last_row; i++) {
if (parseInt(values[i], 10) === 0) {
sh.hideRows(i + 1);
}
}
}
1行目が0の列を非表示にする
hiderow_0と同様、厳密等価演算子 === で0と比較しました。
ここではvalues[i]では動かないため、values[0][i]にしました。
if (parseInt(values[0][i], 10) === 0)
コード.gs
function hidecol_0() {
var row = 1;
var sh = SpreadsheetApp.getActiveSheet();
var range = sh.getRange(row + ":" + row);
var values = range.getValues();
var last_col = sh.getLastColumn();
for (var i = 0; i < last_col; i++) {
if (parseInt(values[0][i], 10) === 0) {
sh.hideColumns(i + 1);
}
}
}