(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。Googleフォームからの送信であれば、その入力内容をスプレッドシートに蓄積することは、とっても簡単にできます。フォームでスマートフォンからスプレッドシートへの入力を簡単にしてみたスプレッドシートで作成した収支表の入力画面として、Googleフォームを利用する方法をご紹介しています。7もそうですし、他のフォーム作成サービスなどを使っていると、その多くはフォームの送信内容がメールで届きます。...一つ一つドラッグ選択してコピペするという地味な作業を強いられます。Scriptを使えばおさらばです。Scriptを使ってGmailで届いたフォームからの送信情報をスプレッドシートに蓄積する方法をお伝えします。それで、本文から必要なデータを抽出するのに、「正規表現」というテクニックを使います。Scriptで正規表現を使って必要な情報を抽出する最も簡単なスクリプトです。正規表現とは何か正規表現...なんか、プログラミングっぽくない名称ですが、簡単にいうと文字列のパターンを表現するための手法のことです。Excelではアスタリスク(*)を使って「東京都*」とすれば、「東京都ではじまる任意の文字列」という「パターン」を表すことになります。正規表現はもっと色々な文字(メタ文字といいます)を使って様々なパターンを表現することができる表現方法です。Scriptをはじめ、多くのプログラミング言語では、この正規表現を使って文字列の検索や置換などをすることができるというわけです。Expression」といいます。簡単な正規表現による抽出の例では、簡単な例を一つ。以下のような文字列を用意します。年齢:30才という文字列を表します。それに対して、以下のようなGASスクリプトを作成して実行します。/年齢:.*?才/;Logger.log(str.match(reg));}すると結果として以下のようなログ出力が得られます。わかりづらいですが「名前:」ではじまって改行で終わる文字列のパターン「年齢:」ではじまって「才」で終わる文字列のパターンが配列で出力するというスクリプトになります。上記スクリプトは、冒頭でお伝えした正規表現を使った文字列の抽出の簡単な例となります。一つ一つ解説をしていきますね。正規表現はスラッシュ(/)で囲むことで表現をします。/正規表現/フラグつまり、スラッシュで囲んだ内容は「これは正規表現なんだな」とGASが認識をしてくれるというわけです。(シングルまたはダブルクォーテーションで文字列と認識されるのと同じです)なお、フラグには「g」や「i」などのアルファベットを使って、検索時のオプションを設定するものです。複数行を検索するよく使うのは、gとiですが、今回はなしでもOKです。正規表現は変数に格納することもできます。正規表現では、アルファベットや日本語、数字などの通常の文字列と、特殊な役割を持つメタ文字で組み合わせてパターンを表現します。「\n」:改行コードという構成になっています。二つのメタ文字の組み合わせ「.*?」は任意の0文字以上の文字列のうち最短のものを表すことになりますから、正規表現全体としては「名前:」ではじまって改行で終わる文字列のパターンとなるわけです。「.*?」は組み合わせてよく使うので覚えておくと良いかもです。正規表現で使えるメタ文字やその組み合わせはほかにもたくさんありますが、必要に応じて調べていただければOKです。文字列の中から指定した正規表現のパターンの文字列を抽出するには、matchメソッドを使います。文字列.match(正規表現)matchメソッドでは正規表現にマッチした文字列を配列で返すので、実際に使う場合は配列から取り出してくださいね。文字列strがもうちょっとメール本文っぽい文字列だったとします。'高橋様\nお世話になっております。\n\n名前:鈴木\n年齢:30才\n\n以上です。'高橋様\nお世話になっております。\n\n名前:鈴木\n年齢:30才\n\n以上です。お世話になっております。1234567高橋様お世話になっております。いう文字列を表します。メール本文っぽいですよね。この場合も、前述と同じ正規表現で抽出することで、全く同じ結果を得ることができます。Scriptで正規表現を使った最も簡単なスクリプトについて紹介しました。正規表現はメール本文からの抽出にも使えますし、WebスクレイピングしたHTMLドキュメントからの抽出にも有効です。色々なパターンの抽出ができますので、ぜひトライしてみてください。次回は、抽出した文字列から余計な部分をトリミングしたいと思います。Scriptでフォーム送信メールからデータを抽出してスプレッドシートに登録するツールを作成しております。今回はGASで正規表現で抽出した文字列から、欲しいデータのみを取り出す方法です。ScriptでメールやHTMLドキュメントからデータを抽出することができます。本シリーズでは、フォーム送信の通知メールからデータを抽出してスプレッドシートに追加するツールの作成を目指します。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。Scriptの超入門ということで、GASプログラミングの基礎中の基礎を学んでいくシリーズです。今回、プログラミングで重要なテクニックである変数の使い方とデータ型についてお伝えします。ScriptとIFTTTを使ってチャットワークに送る方法を紹介します。スマートスピーカーで世界が一気に広がりますね。ScriptでTrelloのカード一覧をスプレッドシートに保存する方法をお伝えします。UrlFetchAppのfetchメソッドを使ってデータを取得し、getRangeメソッドとsetValuesメソッドでシートに保存します。Scriptでダイアログを使ったcsvファイルアップローダーを作成する方法をお伝えするシリーズです。今回は、GASのダイアログでアップロードしたファイルをサーバー側に渡す方法です。ScriptとチャットワークAPIを使ってチャットワークで「おみくじ」と送信すると、大吉から凶までのおみくじの結果を生成してチャットワークに返す「おみくじチャット」を作成します。ScriptGASのWebページのナビゲーションをBootstrapでスタイルする方法GASユーザーのためのHTML入門ということで、簡単なWebページの作り方をお伝えしています。今回は、GASのWebページのナビゲーション、つまりnavタグ内をBootstrapでスタイルする方法です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣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をコピーしました。