(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。Scriptで備品購入申請を題材にワークフローを作成する方法をお伝えしています。Scriptで備品購入申請を題材にワークフローを作る方法をお伝えしています。今回は、GASでURLを踏んでスクリプトを動作させたときにパラメータを渡す方法をお伝えします。tonari-it.com2017.05.17URLを踏んでdoGet関数を呼び出すときにパラメータを渡す方法をお伝えしました。今回は、URLを踏んだら「承認」としたことにするようにスクリプトを修正していきます。いうことで、【GASで作るワークフロー】URLクリックで「承認」とするスクリプトの作り方をお伝えします。前回のおさらい前回までのおさらいからいきますね。備品購入申請は以下のGoogleフォームから行います。フォーム送信を行うと連携する以下のスプレッドシートに申請内容が蓄積されます。その際、フォーム送信時のトリガーで以下のスクリプトsendMessageが動作します。'備品購入申請がありました。'備品購入申請がありました。body);}承認者宛に申請があったことを知らせるために、以下のようなメールを送るものです。このメッセージ内のURLはウェブアプリケーションを公開して取得したもので、クリックすると、以下のdoGet関数を起動します。HtmlService.createHtmlOutput(html);}doGet関数はメッセージ内のURLから引き回してきたパラメータ「row」を反映させつつ、以下のようなウェブページを表示します。...とここまで作りました。今回は、メッセージ内のURLをクリックしたら「申請を承認したことにする」ように修正をしていきたいと思います。フォーム送信時のスクリプトを変更するまずスクリプトsendMessageを変更していきます。'備品購入申請がありました。'備品購入申請がありました。body);}Rangeオブジェクトの属するSheetオブジェクトを取得まず、変更箇所は10行目と11行目ですね。Rangeオブジェクトから、getSheetメソッドを使うことで、そのRangeオブジェクトが属するSheetオブジェクトを取得することができます。Rangeオブジェクト.getSheet()それで、スプレッドシートの8列目(H列)を「ステータス」として、そこに「確認中」と記入するようにしました。フォームの送信を受け取ったときに、以下のように入力されます。メッセージのURLをクリックすると承認あと22行目ですが、「承認する場合は、以下URLをクリックしてください」と変更しました。以下のようなメッセージになります。doGet関数のスクリプトを変更するdoGet関数は以下のように修正しました。'以下の備品購入申請が承認されました。'以下の備品購入申請が承認されました。HtmlService.createHtmlOutput(html);}だいぶ長くなりました...!スプレッドシートからデータを取得し「承認する」まず3行目~13行目は、スプレッドシートから該当の申請に関する行を配列として取得しているところです。5行目ですが、getValuesメソッドは二次元配列なのですが、今回は一行分のデータだけなので、インデックス0の要素を取り出すことで、一次元配列としています。それで、13行目でステータスを「承認」に変更しています。申請者に承認を通知するメッセージを送るスプレッドシートのG列には、申請者のメールアドレスをとっておいてありますので、これを使って「承認されたよメール」を送ることができます。その部分が、15~25行目ですね。seneMessageと同じような表現があって冗長ですが、以降の記事で整理していきます(多分)。申請者に送信されるGmailメッセージはこちらです。Webページに承認内容を表示する調子に乗って、承認者がURLを踏んだあとに表示されるWebページの表示も変更しました。承認内容を箇条書きで表示するようにしました。これで、以下のような表示になります。まとめ以上、URLクリックで「承認」とするGASのスクリプトの作り方についてお伝えしました。シンプルではありますが、これで一連の流れはできましたね。各スクリプトで冗長な部分が散見されますので、そのあたりを修正したいですね。「承認」だけでなく「否認」もできるようにしたいですよね。次回以降、対応をしていきたいと思います。Scriptで備品購入申請を題材にワークフローを作成する方法をお伝えしています。今回は、GASで送るGmailメッセージをプレーンでもHTMLでも送れるようにする方法についてです。Scriptで操作できるアプリケーションはまさに「ワークフロー」を作成する上で必要なものが揃っています。いうことで、このシリーズでは初心者でも簡単に作れるワークフローの作り方について解説をしていきます。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。Scriptを使って、作成したグラフをメールで送付するテクニックを紹介します。グラフ作成から、メールでの共有まで、自動化することができるようになります。ScriptGASでGoogleスライドの特定のシェイプをオブジェクトIDで取得する方法GASでGoogleスライドのプレゼンテーションを楽々作成するテクニックについてシリーズでお伝えしています。今回は、GASでGoogleスライドの特定のシェイプをオブジェクトIDで取得する方法です。ScriptGASでGoogleフォームに記述式の質問を追加する方法GASでGoogleフォームを作成する方法についてお伝えしています。今回は、GASで作成するフォームに、addTextItemメソッドを使って氏名や会社名などの記述式の質問を追加していきます。Scriptでチャットワークでのチャット打刻システムを作るGoogleスプレッドシートを使って勤怠管理集計システムを作成しています。Scriptでチャットワークからの出勤・退勤の打刻情報を受け取るスクリプトを作っていきます。Cloudを利用してWebページをスクレイピング「JavaScriptで動作するWebページ(動的サイト)を色々な言語でスクレイピング」することをシリーズでお伝えしています。Suiteの最新プログラミングガイド~」という本を書きました!本ページでは、本書のお知らせ、書評などの情報を発信していく特集ページです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣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をコピーしました。