(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。Scriptでチームで使えるタスク管理ツールをスプレッドシート、Googleフォーム、Googleカレンダーで作成するシリーズです。前回の記事はこちらです。Googleフォームの送信があったときにイベントの予定をGoogleカレンダーに入れるチームで使えるタスク管理ツールをスプレッドシート、フォーム、カレンダーで作成しています。Scriptを使って、フォームからの送信を受けてカレンダーにイベント追加する方法です。tonari-it.com2016.10.31Googleフォームからの新規タスクを入力がると、タスク管理用のGoogleカレンダーのタスク期限の日時にイベントが追加されるという処理を作成しました。今回から、スプレッドシートのタスクのステータスが「完了」にされたときの処理を考えてきます。Scriptのイベントトリガー「値の変更」の使い方と、値の変更されたセルの位置を知る方法から解説をします。これは、かなりあちこちで使えるテクニックですので、ぜひマスター頂ければと思います。値の変更があったセルの位置を表示するスクリプト実行結果まとめ連載目次:スプレッドシート、フォーム、カレンダーで作るタスク管理ツール前回までのおさらいGoogleフォームからタスクを入力すると、スプレッドシートにその情報が追加されます。これは、通常のGoogleフォームの動きですね。このスプレッドシートにフォームからの情報通知があったということをトリガーに、イベント追加のスクリプトが起動して、以下のようにカレンダーに追加されつつスプレッドシートにはE列イベントIDと、F列ステータスが入力されるというところまで前回進めました。Googleフォームの送信があったときにイベントの予定をGoogleカレンダーに入れるチームで使えるタスク管理ツールをスプレッドシート、フォーム、カレンダーで作成しています。Scriptを使って、フォームからの送信を受けてカレンダーにイベント追加する方法です。tonari-it.com2016.10.31今回は、スプレッドシートのF列が「未完」から「完了」に切り替わったときにスクリプトを起動させる、という点を進めていきます。イベントトリガー「値の変更」を設定するまず、スプレッドシートの特定のセルの値が変更されたときを検知して、スクリプトを起動させる必要があります。その場合は、イベントトリガー「値の変更」を使えばOKですね。showStatusという関数を起動させるのであればメニューの「リソース」→「現在のプロジェクトのトリガー」からウィンドウを開いて、「新しいトリガー」をクリック。そこで、実行を「showStatus」、イベントを「スプレッドシートから」「値の変更」を選択して、「保存」ですね。これで、スプレッドシートの任意のセルに値の変更があった場合には、都度「showStatus」が実行されることになります。次にスプレッドシートの中で値が変更されたのはどのセルなのか?を知る必要があります。F2セルが「完了」に変更されたのであれば「牛乳を買う」というタスクについてGoogleカレンダーのイベント名を変更しますし、F列でないセルであれば何の処理も実行する必要もありません。値が変更されたセルの位置を知るということは、言い換えれば「今、カーソルがあるセル」の位置を知るということと同義ですから、アクティブなセルの位置を返すgetActiveCellメソッドを使います。Sheetオブジェクト.getActiveCell()getRowとgetColumnでセルの位置を取得また、指定のセルの行番号および列番号を取得する場合は、Rangeオブジェクトに対してそれぞれgetRow、getColumnメソッドを使います。Rangeオブジェクト.getRow()Rangeオブジェクト.getColumn()値の変更があったセルの位置を表示するスクリプトそれでは、上記メソッドを使って、値の変更があったセルがどこなのかを調べて、その結果を返すスクリプトを作成してみましょう。'行目のステータスが変更されました');}}まず4行目でアクティブセルを取得しています。6行目のif文ですが、アクティブセルの列番号を調べてそれが6つまりF列「ステータス」かどうかを判定して、そうであればその行番号を調べてメッセージを表示します。F列でない場合は何の処理もしない、ということになりますね。実行結果では、こちらを保存して実行してみましょう。スプレッドシートでセルF3のステータスを「完了」に変更してみますとこのように「3行目のステータスが変更されました」とメッセージが表示されます。別のセル、例えばA6セルに何か入力してみても特に何も起きません。まとめ以上、イベントトリガー「値の変更」の使い方と、値の変更があったセルの行および列を知る方法についてお伝えしました。getActiveCell、getRow、getColumnはセットで使う場合が多いと思うので、ぜひまとめて覚えておきたいですね。次回ですが、実際にGoogleカレンダーのイベント名を変更していく処理についてお伝えしていきます。Scriptとスプレッドシート、フォーム、カレンダーを使って、チームで使えるタスク管理ツールを作成しています。今回はGoogleカレンダーのイベント名を変更する方法です。Suiteのスプレッドシート、フォーム、カレンダーを組み合わせて作ってしまおう!というものです。手軽にビジュアルでわかりやすいツールを作れますよ。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。ScriptGASでGoogleスライドのプレゼンテーションをコピーする方法GASでGoogleスライドのプレゼンテーションを楽々作成するテクニックについてお伝えしています。今回はGASでGoogleスライドのプレゼンテーションをコピーする方法です。Driveサービスを使いますよ。Script新構文をさっそく試そう!GASのプロジェクトをV8ランタイムに切り替える方法GASでV8ランタイムがサポートされたことにより、ECMAScriptの構文が使用できるようになりました。今回は、GASのプロジェクトについてV8ランタイムに切り替える方法についてお伝えしていきます。Scriptでスプレッドシートの操作をしていて実行速度が遅い!と感じたことがあると思います。今回はスプレッドシートを操作する場合に処理速度を格段に速くする方法をお伝えします。ScriptGASでGoogleスライドのテキストボックスの文字列を取得する方法GASでGoogleスライドのプレゼンテーションを楽々作成するテクニックについてお伝えしています。今回はGASでGoogleスライドのTextRangeオブジェクトの概要とその取得方法についてです。ScriptでTrelloのカード一覧をスプレッドシートに保存する方法をお伝えします。UrlFetchAppのfetchメソッドを使ってデータを取得し、getRangeメソッドとsetValuesメソッドでシートに保存します。Scriptのクラス」をテーマにお送りしています。今回は、GASでselfを使って関数の中からインスタンスを表すthisを使えるようにする方法です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。