MENU

GASでトリガーから実行するとうまくいかない問題の解決策はシート指定。ActiveSheetが効かないんだ

タイトルで落ちてるんですが、まあそういうわけです。

今開いているシートで実行するコードがありますよね。

SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

これが手動でコード実行したときはうまく認識してくれるんですが、トリガーからだとなんかうまく見れないみたいなんですよね。(多分一番最初のシートとかになる?)

なので、シートを明示的に指定してあげるとうまくいきます。

つまりこんな感じ。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(‘シート名’); // “シート名”という名前のシートを明示的に指定

エラーが出ないように以下を入れてもいいかも。

if (!sheet) {
Logger.log(‘Sheet “シート名” not found.’);
return; // シートが見つからない場合は終了

っていうそれだけの話。

P.S.これがなー。AIとかに聞くとコードばっか直してくれるけど全然その発想はなかったわみたいになって詰まりがち。起動後速攻で終了するとかlastColumnがズレるとかは大体これ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次