[解決済み] onEditのシンプルなトリガーがトリガーされることがないようです。
2022-02-19 18:09:13
質問
これまで
OnEdit
しかし、たった今、問題に出くわしました。基本的に、カラム6(f)が編集されたとき、値をチェックしたいのですが、もしそれが "In Progress" なら、メールを送るための関数を実行させたいのです。
var summary = ss.getSheetByName("Summary")
var data = summary.getRange(4, 1, summary.getLastRow(), summary.getLastColumn());
var learnerObjects = getRowsData(summary, data);
var lastrow = summary.getLastRow();
function onEdit(e){
var sheet = e.source.getActiveSheet();
var CellRow = sheet.getActiveRange().getRow();
var CellColumn = sheet.getActiveRange().getColumn();
if (sheet.getSheetName() == "Summary"){
if (CellColumn == 6){
var learner = learnerObjects[CellRow-4];
var status = learner.status;
if (status == "In Progress"){
var enrolmentdate = learner.enrolmentDateDdmmyyyy;
var surname = learner.surname;
var firstname = learner.firstName;
var qualification = learner.qualification;
var company = learner.company;
messagePT3 = firstname + " " + surname + " from " + company + " doing " + qualification + " has been added to your tracker.";
sendTrackerEmail(messagePT3);
SpreadsheetApp.getActiveSpreadsheet().toast('Email has been sent to Assessor regarding new learner', 'Assessor Notified', 3);
}
}
}
}
これはそのためのメインコードです、私が言うようにデバッグするとき、それはうまく動作します、しかし、私はデバッグしていないとき、それは決してトリガーされるようです、私はこれを行うための他の方法はありますか?
F列でデータ検証を行っていますが、これはセルを"Completed", "Withdrawn", "Suspended", "In Progress" に制限しています - これは効果がないはずです?
私が知っているのは
onEdit
は、スプレッドシートの特定の部分の変更を監視するために使用しているため、トリガーされています。
解決方法は?
その
onEdit()
トリガーはいわゆるシンプルなトリガーで、アクションのフィールドが限定されています。
それは、アクティブなユーザーの権限の下で自動的に、そして、静かに実行されるので、例えば、メールを送ることができないなど、承認を必要とする何もすることができません!
解決方法は簡単です:関数名を他のものに変更し(例えばmyOnEdit)、その関数を実行するインストール可能なonEditトリガーを設定します(メニューリソース/現在のスクリプトトリガー/スクリプトエディタで新しいトリガーを作成します)。
今回は、誰かがスプレッドシートを編集したときに、あなた(メールを送信する人)として実行されます。
その件に関するドキュメントは こちらで購入できます .
関連
-
[解決済み] スクリプト関数が見つかりません: doGet
-
[解決済み] Googleフォームの隠しフィールド
-
[解決済み] Google Apps Script Error - そのアクションを実行するには認証が必要です。
-
[解決済み] onEditのシンプルなトリガーがトリガーされることがないようです。
-
[解決済み] G Suiteアドオンがドライブへの接続を拒否している?drive.google.com refused to connect" エラーの解決方法は?
-
[解決済み] Google Sheets、"リクエストに有効なAPIキーが不足しています"
-
[解決済み] JavaScriptでイベントを発生させるには?
-
[解決済み] セルに値を設定するために正しい範囲を取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] スクリプト関数が見つかりません: doGet
-
[解決済み] Googleフォームの隠しフィールド
-
[解決済み] Google Apps Script Error - そのアクションを実行するには認証が必要です。
-
[解決済み] onEditのシンプルなトリガーがトリガーされることがないようです。
-
[解決済み] G Suiteアドオンがドライブへの接続を拒否している?drive.google.com refused to connect" エラーの解決方法は?
-
[解決済み] Google Sheets、"リクエストに有効なAPIキーが不足しています"
-
[解決済み] セルに値を設定するために正しい範囲を取得する方法は?