#45 設定されているトリガー関数を削除する
GAS に関する記事の中で、トリガー関数を設定しているケースがありますが、
自身の操作によってトリガー関数を設定する
GAS のプログラムによってトリガー関数を設定する
のいずれかで設定しているかと思います。
以下の記事では、GAS に不慣れな方でも簡単に導入できることを目的に、
下図のように「トリガー関数の設定」ボタンによって、プログラムによってトリガー関数を設定しています。この記事では、トリガー関数の削除について扱います。
トリガー関数を削除するには?
(1) 操作によって削除する
前述の記事の中でも説明していますが、GAS のエディター画面から以下のように操作します。
Google スプレッドシートのメニューから「拡張機能」→「Apps Script」を選択して、
GAS のプログラムを編集するエディタを表示させ、画面左側のメニューバーから「トリガー」を選択します。
下図のように設定されているトリガー関数が一覧で表示されます。下図の例では、前述の記事で設定されているものなので、2種類のイベント(時間ベース、フォーム送信時)が設定されています。
それぞれのトリガーについて、右端の三点リーダーをクリックして、「トリガーを削除」を選択します。
このような操作で、設定されているトリガー関数をできます。
(2) プログラムによって削除する
前項 (1) の操作を、プログラムで行おうとすると、次のような感じになります。
/********************************************************************************
* トリガー関数を削除する(すべて)
*/
function deleteAllTrigger() {
/*****
* 既に設定されているトリガー関数は、すべて削除する。
*/
let triggers = ScriptApp.getProjectTriggers();
for (let i = 0; i < triggers.length; i++) {
ScriptApp.deleteTrigger(triggers[i]); // 現在設定されているトリガーを削除
}
}
上記のプログラムを実行すると、当該スクリプトに設定されているトリガー関数をすべて削除します。
前述の「Apps Script」のエディタで、↑ のプログラムを実行するか、下図のようにプログラムを実行するためのボタンを作成するとよいと思います。
前の記事で案内している Google スプレッドシートの元ファイルを更新して、Ver.1.20(2022/08/10 更新)には上図のようなボタンを追加しておきました。
既にファイルをコピーしている場合には、前述 (1) のように手作業で削除を行ってください。
まとめ
別記事で設定されたトリガー関数の削除をもとに説明していますが、トリガー関数を削除する関数 deleteAllTrigger() については、どのプログラムでも利用できるはずです。
何か困っていることの一助になれば…