【GAS】スプレッドシートに日付とエラーメッセージを書き出す関数
GASで例外が出たときにそのメッセージを確認するため、外部のファイルに書き出したかったので作成した。
コード
function writeDateAndErrorMessageToSheet( sheet, message ) {
const ROW = getTargetRow( sheet );
const CELLS = sheet.getRange( ROW, 1, 1, 2 );
CELLS.setValues( [ [ new Date(), message ] ] );
}
function getTargetRow( sheet ) {
var row = 1;
while ( true ) {
var cell = sheet.getRange( row, 1 );
var isWrittenDate = cell.getValue() !== "";
if ( !isWrittenDate ) break;
++row;
}
return row;
}
使い方
引数に対象のシートとエラーのメッセージを指定して呼ぶ。
try {
// 処理
}
catch ( error ) {
const KEY = "...";
const SPREADSHEET = SpreadsheetApp.openById( KEY );
const SHEET = SPREADSHEET.getActiveSheet();
writeDateAndErrorMessageToSheet( SHEET, error );
}
これでエラーが出るたび、順にエラーメッセージが書き出される。