質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Q&A

解決済

2回答

433閲覧

承認されたらスクリプトを実行したい

退会済みユーザー

退会済みユーザー

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

0グッド

0クリップ

投稿2022/12/20 09:16

有休申請についてGoogleフォームでの申請をスプレッドシートに落とし込む
スクリプト作成しています。
申請後、承認者へ「承認」か「却下」かのメールが届く。
承認者が「承認」を押せばスプレッドシートが確認中→承認となるように設定しています。さらに、承認された場合に、Googleカレンダーに登録できるようにスクリプトを組みたいと思いっています。

別にCreateScheduleのスクリプトを作成し
スプレッドシート編集時をトリガーに設定し下記スクリプトを実行させたのですがうまくスクリプトが実行されません。

function onEdit(){

var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得
var myCell = mySheet.getActiveCell(); //アクティブセルを取得
if(myCell.getColumn()==9){ //アクティブセルがI列かを判定
CreateSchedule();
}
}

スクリプト処理でセルが確認中→承認とした場合、セル編集時とみなされないのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

スクリプトによって編集された場合 onEditトリガーが確実に発動するとは限りません。

GASで"承認者が「承認」を押せばスプレッドシートの 「確認中」という値を「承認」という値に変更するように設定している"のならば、
その部分のスクリプトに直接、Googleカレンダーへ登録するスクリプトを組みこめばよいだけではないでしょうか。

かみ砕いていうと、わざわざ

  • スクリプトA→承認が押されたら、スプレッドシートに承認を書き込む
  • スクリプトB→スクリプトAにより「承認」が書き込まれたことを onEdit で検知して、カレンダーに登録する

ということをせずとも

  • スクリプトA→承認が押されたら、スプレッドシートに承認を書き込み、同時にカレンダーに登録する。

という風にすればいいのでは?ということです。

仮に「スクリプトBは自分担当だが、スクリプトAを作っている人が別」というのなら、その人に機能追加を相談してください。

投稿2022/12/20 14:12

編集2022/12/20 14:14
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

なるほど。確かにその流れのほうが自然ですね。
ありがとうございます

投稿2022/12/20 23:11

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問