バックオフィスの人から「スプレッドシートの一括変更に気づけるようにしたい!」という要望があったのでつくりました。
一括で変更処理をしたときに、こんなかんじでポップアップでお知らせします
コード
function showPopup(){
var mySheet = SpreadsheetApp.getActiveSheet(); //シートの取得
var range = mySheet.getActiveRange();
// 一括更新以外は無視する
if (range.getNumColumns() == 1 && range.getNumRows() == 1) {
return;
}
SpreadsheetApp.getUi().alert(rangeStr(range) + "が変更されました");
}
function columnToLetter(column) {
var temp, letter = '';
while (column > 0)
{
temp = (column - 1) % 26;
letter = String.fromCharCode(temp + 65) + letter;
column = (column - temp - 1) / 26;
}
return letter;
}
// A:1〜B:3みたいな文字を返却する
function rangeStr(range) {
var firstCell = columnToLetter(range.getColumn()) + ":" + range.getRow();
var lastCell = columnToLetter(range.getLastColumn()) + ":" + range.getLastRow();
return firstCell + "〜" + lastCell;
}
トリガー
「スプレッドシートから」「編集時」に設定します。
以上です