その部分で合っています(^^) 無理そうです(T_T), ちなみにわたしの作ったフォームでは、自分の携帯アドレスに自動メールが届きました。 GmailApp.sendEmail(report, title3, content3, options3); NARUGAROさん、全然遅くないです! bccで他のアドレスにも送りたい時:bcc@example.com どうやってもできなくて・・!, お返事ができなくてすみません、FROMは変更できなかったと思います。 content2は本文。 + question + ': ' + answer + '\n'; 3.と番号がついてありますが、 msmaflink({"n":"仕事で使える!Google Apps Script (仕事で使える!シリーズ(NextPublishing))","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"","p":["\/images\/I\/51Lx2RdvXHL.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/B072Q1JFHN","t":"amazon","r_v":""},"aid":{"amazon":"1879761","rakuten":"678083","yahoo":"1879762"},"eid":"KbCF4","s":"s"}); スプレッドシートでは、時間ベーストリガーの他にも、スプレッドシート特有のトリガーを設置する事が出来ます。使用することの出来る特有のトリガーは、「onChange」、「onEdit」、「onFormSubmit」、「onOpen」の合計4つとなります。それぞれ、「変更時」「編集時」「フォーム送信時」「起動時」の4つに該当します。以下に各トリガー設置のスクリプトを記載します。, 変更時とは、構造変更や内容変更が発生した時に発動するトリガーです。VBAで言う所のAfterUpdateイベントと言えます。, 編集時とは、編集時に毎回発動するトリガーです。VBAで言う所のBeforeUpdateイベントと言えます, フォーム送信時とは、スプレッドシート側から作成したフォーム上でデータが送信された時に発動するトリガーです。, 起動時とは、そのスプレッドシートが開かれた時に発動するトリガーである。通常はメニューの登録などでよく使われている。, 殆ど、スプレッドシートと同じですので、ここでは省略します。時限作動も可能に鳴っていますので、自動的に指定日にフォーム受付を停止させたりすることも可能です。, スクリプトトリガーで最も使用する機会が多く、また、設置できるパターンの多いトリガーです。結構細かく時間トリガーを設置することが出来ますが、あまりにも短い時間にバンバンデータを取り込むようなトリガーを設置してしまうと、GoogleのサーバーにBANを食らったり、正常に動作しなくなることも考えられるので、設置に当たっては気をつけましょう。また、このトリガーが設置されたものは、例えファイルがゴミ箱に行こうともトリガーは動き続けますので、捨てる場合には、トリガーを削除してから捨てるようにしましょう。, 単位がミリセカンド(1/1000秒)なので、通常は数秒後という形で設定して使う時間トリガーです。下記の例では10秒後に実行するよう設定しています。, 単位が特定日のスポット実行なので、日付型でデータを受け取っておき、atに続けて引数で渡してあげます。, 特定日に実行のものと殆ど同じですが、こちらは、深夜付近で実行がされるトリガーです。atDateに続けて引数で渡してあげます。, 引数で取った数字(時間)に従って、その時になったら発動するトリガー。このトリガーは、この後に出てくる別のトリガーと組み合わせて使用します。下記ではeverydaysと組み合わせて使用しています。サンプルの例の場合、3日置きに午前5時〜6時の間でトリガーが発動します。, 引数で取った数字(時間)に従って、毎日その時間にトリガーが発動します。下記の例では、毎日12時にスクリプトが実行されます。, 引数で取った数字(分)に従って、○○分毎にトリガーが発動しつづけます。指定できる引数は、1分・5分・10分・15分・30分が指定可能です。, everyWeeksで毎週なのですが、引数に指定した数字にて、2週毎といった指定ができます。また、この指定オプションは、必ず、指定時刻とどの曜日なのか?を指定するatHourとonWeekDayの指定が必要です。, Googleドキュメント全般には、それぞれプロパティを見るとわかるのですが、アメリカ合衆国になっていたりすることがあります。スクリプトでもそれがあり、場合によっては、変更しておかないと妙な挙動をするスクリプトを作る羽目になります。このオプションは、そのタイムゾーンを指定することの出来るメソッドです。, トリガーの修正・削除は、いずれもまずは削除から始まります。そして、修正だけはこの後に改めて設置をするメソッドを発行することになります。しかし、スクリプトトリガーは設置者以外のトリガーが見えなかったりするので、トリガー削除ルーチンがとても便利です。このルーチンの後に設置などのルーチンをつなげてあげれば、トリガーの設置し直しが完了するわけです。, トリガー設置時に、getUniqueIdでトリガーのIDを取得可能です。これをスクリプトプロパティに格納しておく事で、後で指定のIDのトリガーのみを削除する事が可能になります。次のコードがその特定のIDのトリガーのみを削除するコードです。但し、スクリプトプロパティに入った値は文字列となってしまうので、deleteTriggerに引数としてtriggerIdを渡す場合には、事前にNumber(triggerId)といった形で数値型にしておく必要があります。, しかし、このルーチンは、triggerIdが引数で必要であるため、自分の場合、引数をなくして、以下のようにし「トリガー全削除ルーチン」に改造して使います。, 但し、当たり前ですが、トリガー全削除ルーチンは、根こそぎ全部削除してしまいますので、キメ細かくトリガーセッティングをしているケースでは、何か別の仕組みが必要になってくると思います。自分の場合、別にトリガーをワンボタンで設置する為のルーチンを用意しておいてあります。, 一見すると便利そうなスクリプトトリガーという機能ですが、実はめちゃめちゃ融通が効きません。細く設定できそうなトリガーの条件設定なのですが、モノすごくアバウトにしか設定できません。いい事例が、毎日10:30に発動とか、そういったことが出来ません。30分っていう設定は、分トリガーにしかなく、他は時間トリガーしかないわけです。そうなると、時間トリガーしかなく、割りと大きな情報収集トリガーを2本発動させた後にPDF化して送信というスクリプトを書くとなると、3時間後とかになってしまいます。そこで、これを何とかしようというのが今回の目的。, ※尚、2本の情報収集トリガーは同時に発動すると、データが壊れるので時間を空けて挙げなければならない。, 毎度毎度のことなのですが、Googleのリファレンスに載っていないので、色々情報を集めて、特定の日付・時刻によるトリガーの設置の為に、getDate関数を作成しました。引数に時間(HH:MM形式)を受けて、返り値として(YYYY/MM/DD HH:MM)の形で返すようにしています。getDate(“10:30”)とやると、返り値として本日の日付の10:30の日付型で値が返ってくるので、これをスクリプトトリガーのatに渡してあげるわけです。整形は、Utilities.formatDateで行っています。当たりまえですが、更にこれをnew Dateで日付型に戻して挙げるわけです。, 下記は、今日の日付の10:40の日付型の値をtrigger1変数に受け取るコードです。時刻部分を、ユーザに入れさせるように、何かギミックを用意するのも悪くありませんね。, 下記は、受け取ったtrigger1の値をもとに、Script Triggerのat()をつかって、特定の日付・時刻を指定しています。, 直接、at()の中に、【YYYY-MM-DD HH:MM】で書けたら楽なのにね・・・ちなみに、getDateの関数は以下のような感じで作ってます(上の方にもコード内で使ってますが)。, onEditとトリガーを駆使して、特定のセルを編集したら、1分後にそのセルの中身をクリアするといったコードを作ってみます。今回の場合、onEditのトリガーを予め設置しておく必要があるため、deleteTrigger()でトリガー削除をしてしまうと、onEditのトリガーまで消えてしまいます。, ですので、トリガー設置時にtrigger_idを取得して、特定のトリガーだけを削除しつつこの課題を実現してみます。予め、シートのトリガーに対して、onEditを編集時として設置しておく必要があります。, トリガー対象となっているスクリプト内では、自動的にそれらが動くわけなのですが、通常とはちょっとだけ異なる挙動になるのと、タイムアウトの5分を意識して作らなければなりません。もし、スクリプトの実行が失敗しますと、サーバーからメールが飛んできます。, […] 毎日深夜0時に座席データは固定席以外はクリアされる(スクリプトトリガーを使用) […], […] 今回は、指定時刻に発火するトリガーを利用します。また、指定時刻を指定する為にダイアログを用意し、その上では日付と時刻をセットできるように、jQueryのDatePickerとTimePickerを装備 […], […] VBAとの大きな違いは、ローカルで動いているわけではないので、トリガー機能を使うことで真夜中に自動でプログラムを動かしたり、Web API化しておいて、他のプログラムから受け待ちを […], このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。. などに変えればOKです。, 先日はありがとうございました! 感激しました。ありがとうございます! d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))}) 【GAS入門】フォームの回答があったらメール通知するスクリプトを作ってみよう. ちなみに私が作成したフォームは質問1から質問10まであるので、結構長いです。 c.getElementById(a)||(d=c.createElement(f),d.src=g, Google FormのGoogle Apps Scriptトリガー登録. var title = '[お問い合わせ フォームより]'; fromにメールの送信元アドレス 同様のスクリプト(下記の通り、回答者への返信がないバージョン)で、担当者への自動返信フォームを作って運用していたのですが、11月初め頃からNarugaroさんと同じく「承認が必要」とのメッセージが届きました。トリガーを設定し直したところ、今度はスクリプトの実行中に「TypeError: undefined からプロパティ「response」を読み取れません。(行 2、ファイル「コード」)」というエラーが出てしまい「承認できない」とのエラーが「読み取れない」というエラーに変わっただけで、うまく動いていません。2行目の「var itemResponses = e.response.getItemResponses();」のところで引っかかっているようなのです。, Narugaroさんの場合は、トリガー再設定で直ったようですね、その後も問題なく動いていますか。何か考えられる対策がありましたらご教授ください。Webからのコピペで書いているので、プログラムの知識は乏しいですが、何卒よろしくお願いします。, function submitform(e){ 自動返信メールに記載されている内容項目に、1. まだ公開していませんのでプレヴューテスト段階です。よろしくお願いいたします。, 1年以上も前にコメントを頂いていたのに気づかずに申し訳ありません。 var report = itemResponses[0].getResponse(); トリガーにはシートからフォーム送信時としてあります。 こちらは キャリアの設定かもしれませんね…。, コメントありがとうございます。返信が遅くなって申し訳ございません。 今回はGoogle Apps Scriptを使って、Googleフォームに回答が来たら、メールを送信するスクリプトを作ってみます。, 右上の・・・から、「スクリプトエディタ」をクリックして、コードを書いていきましょう。, プロジェクトの名前を聞かれたら、フォームに付けた名前と同じのを入力して、OKを押します。, Logger.logっていうのは、GASに用意されているLoggerっていうクラスのlogメソッドを実行しているんですが、, 何が起こるかというと、メニューの「表示」→「ログ」を押したときに出る画面に出てくるんですね。, この関数が実行されたら、ログに’フォームが送信されたぞ’と書かれる、っていう単純なスクリプトを書きました。, 新規タブでトリガー設定画面が出るので、右下にある「トリガーを追加」をクリックします。, 何やら選択項目がいろいろ出てくるのですが、左下の「イベントの種類を選択」を「フォーム送信時」にしてOKを押せばOKです。, 「実行する関数を選択」は、コードに書いたfunctionのどれを実行するか選択するものです。今回はonFormSubmitしか書いてないので、それが選択されています。, 「実行するデプロイを選択」は、使ったこと無いのですが、多分ソースコードをバージョン管理してたら、どのバージョン使いますか、的なことだと思います。Headを選んどけば問題ないはずです。, 「イベントのソースを選択」は、「トリガーを実行する元は何か?」を設定します。今回はフォーム送信時のイベントで実行したいので「フォームから」を選択します。, 「イベントの種類を選択」では、「『イベントのソース』が何したとき?」を選択します。, 「エラー通知設定」はですね、、スクリプトでエラーが発生した場合にエラー内容をメールで送ってくれる機能ですね。, 正直「『通知を受け取らない』は無いんかい!」と思うんですが、今のとこ無いみたいですね。, とりあえず「毎日通知を受け取る」にしておいて、メールが来たら「ああ、あれか。」と思うことにしましょう。, GASでメールを送信するには、GmailAppというクラスのsendEmail関数を使います。, GmailAppクラスを使うときは、セキュリティ対策のため、改めて実行の許可をしてやる必要があります。, もう一度メニューから「編集」→「現在のプロジェクトのトリガー」をクリックして、そのまま「保存」をクリックします。, 今まで放置してたんですが、トリガーで実行される関数の引数(e)には、Eventオブジェクトというものが渡されます。, Eventオブジェクトの中には、トリガーが発生したときの色々な情報がセットされています。, 「フォーム送信時」のトリガーにより渡されるeventオブジェクトには、フォームの回答などの情報が入ってくるので、ここから必要な情報を取り出してやれば良いです。, 次のようにすると、質問と回答がセットで入っている、ItemResponceというクラスのオブジェクトの配列が取れます。, どうもスクリプトの中で対象となるフォームを特定しなきゃいけないみたいで、コードの一番始めに、, と書く必要があります。書かないとEventオブジェクトからresponseのプロパティにアクセスできません。, 参考: Googleフォームのスクリプトの新しいトリガー設定画面でトリガー設定すると、イベントがうまく渡らなくなりました。今までのスクリプトは使えなくなったのでしょうか?, と行きたいとこなんですが、FormAppクラスを使うときは、セキュリティ対策のため、改めて実行の許可をしてやる必要があります。, メニューの「表示」→「ログ」を開くと、フォームに入力した内容が取得できていることが確認できましたね。, e.source.getTitle()がうまくいかない場合は一度フォームのタイトルを変更してみてください。, Googleフォームのスクリプトの新しいトリガー設定画面でトリガー設定すると、イベントがうまく渡らなくなりました。今までのスクリプトは使えなくなったのでしょうか?, 【Selenium】ログインしてデータをcsvに書き出す【BeautifulSoup】. Google Apps Scriptの中で地味ながら、その活用の幅が実に広いものとして、スクリプトトリガーがあります。いわゆる時限式で作動させるための仕組みなのですが、スクリプトトリガーは、スクリプトエディタの画面から入り、手動で登録するのが通常のフローです。しかし、「スクリプト内でテンポラリで時間トリガーを設置したい」であったり「トリガーの設置し直し」など、スクリプトエディタにいちいち入らず設定したいシーンがボチボチあります。そういった場合には、スクリプトからトリガーの設置や削除が出来ると便利です。二重に登録してしまったりすると、二回発動したり、片方しか発動しなかったりするので、慎重に設置をしましょう。, これらトリガーは大きく分けて4種類あり、1.時限作動式 2.開いた時 3.編集時 4.フォーム送信時を設置することが可能です。主に使うのは時限作動式と、フォーム送信時の2つになります。但し、このスクリプトトリガーはちょっと癖があるので、そこだけは注意しとかなければなりません。. その後、快適且つ正確な業務が出来ていて大変満足しています。 本当にありがとうございました。, こんにちは! apps-scripts-notifications@google.comから「その操作を実行するには承認が必要です。」というエラーが返ってきていて、使えなくなっていたのですが本日復旧しました。 管理者宛にきたメールに返信したらユーザーさんへのメールが立ち上がるようにreplyTo, title2に件名。 わたしも、その現象に悩まされています。解明する時間がなく、放置していますが時間が取れ次第、調査します。, これ、これ! (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; プログラミングの知識が乏しいまま探していたので、、本当に助かりました。 Gmailでないと、なりすましメール等で迷惑メールに振り分けられたりします。 どうかご教示を宜しくお願いします!, すみません、コードが消えてしまっていたので、改行コードを書き直しました。 一度、やってみます。 よくわからないのですが(すみません)、トリガーを消して、新しく作り変えて、スクリプトの「実行」をしてから(ここでエラーが出るけど気にしない)、送信してみたところ、動くようになりました。, お返事ありがとうございます「エラー出ても無視」で動きました!ありがとうございます!, TypeError: undefined からプロパティ「response」を読み取れません。(行 2、ファイル「コード」) まさに理想が現実に変わった瞬間でした! ‘ photo credit: hgz09 paper airplane via photopin (license), Google Apps Scriptで備品購入申請を題材にワークフローを作る方法をお伝えしております。, ということで、今回はGoogle Apps Scriptでフォーム送信時にメッセージを送る方法です。, それで、フォームからの送信があった場合は、以下のように連携するスプレッドシートに自動でデータが入力されるわけですね。, 次の段取りとしては、このフォームの送信があったときに、申請があったことを承認者に伝えたいですよね。, GASでGmailからメールを送信するには、GmailAppオブジェクトのsendEmailメソッドでしたね。, オプションにはCCやBCC、添付ファイルなどをオブジェクト形式で設定できますが、必要がなければ省略できます。, ということで、フォームから送信されたデータが蓄積されるスプレッドシートのコンテナバインドスクリプトに、以下のようなsendMessage関数を作りました。, それで、先ほど作ったsendMessage関数を実行するわけですが、担当者がスプレッドシートに張り付いて、追加されたのを目でみてスクリプトエディタで「▶」ボタンをクリック…というわけにはいきません。, ここは、GASで用意されている「フォーム送信時」のトリガーという機能を使うことができます。, これは、フォームの送信が行われたときに、自動でスクリプトを実行させることができる機能です。, トリガーがフォームの送信を待ち構えていて、その際にはスクリプトを動作してくれます。, まず、スクリプトエディタのツールバーから以下マークの「現在のプロジェクトのトリガー」をクリックします。, すると、別タブで「Google Apps Scriptダッシュボード」の現在のプロジェクトのトリガーのページが開きますので、「+ トリガーを追加」をクリックします。, 「備品購入申請のトリガーを追加」というダイアログが表示されるので、以下のように設定して「保存」します。, 承認に関するダイアログが表示されることもあると思いますので、承認してあげてください。, 他にもトリガーの種類はたくさんありますので、「イベントのソース」や「イベントの種類」について覗いてみてくださいね。, スプレッドシートに書き込まれるとともに、「フォームの送信」トリガーが発火して、sendMessage関数が実行。, 以上、Google Apps Scriptでフォーム送信時にメッセージを送るスクリプトの作り方をお伝えしました。, ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。, Google Apps Scriptを使って簡単なワークフローを作るシリーズです。今回は備品購入申請のフォームをGoogleフォームで作成して設定をしその送信結果をスプレッドシートで確認していきます。, Google Apps Scriptでフォーム送信した内容を含んだメッセージをGmailで送るスクリプト, Google Apps Scriptで備品購入申請を題材にワークフローを作っております。今回はGASでフォーム送信した内容をイベントオブジェクトから取り出してそれを含めたメッセージをGmailで送る方法です。, オンラインメモツールのEvernote。Google Apps Scriptとチャットワークを使って、チャットからEvernoteに新規ノート投稿をするという方法について提案をしたいと思います。, 「JavaScriptで動作するWebページ(動的サイト)を色々な言語でスクレイピング」することをシリーズでお伝えしています。 感動のあまりに手が震えますね 笑, 始めまして、グーグルファーム自動返信を作りましたが、テストをしても返信が来ません。 ‘● ‘ その後もデバッグしない限り返信が来ません。どこに問題があるのか教えていただけますか? More than 1 year has passed since last update. 本当に自分勝手ですが、お付き合い頂けると嬉しいです。 Gmailで設定し、OCNへ転送することをおすすめします。, といったような、入力いただいた項目を件名に反映させる場合はどうしたらよろしいでしょうか?? トリガーとは、Google Apps Scriptで作成した処理を、特定の条件のときに自動で実行する仕組みです。 例えば、 フォームが送信されたときに〇〇を実行 スプレッドシートを開いたときに〇〇を実行 というようなことができます。 メールの送信元はfrom:kanrisha@example.com こんにちは! 今回はGoogle Apps Scriptを使って、Googleフォームに回答が来たら、メールを送信するスクリプトを作ってみます。 ‘ + question + ‘: ‘ + answer + ‘\n’; 回答者、管理者、特定の誰か、この3人に回答内容を自動で送信したいのです。。, この特定の誰かとは、フォームの質問1の回答に入力されたアドレスになります。 var address = '〇〇@gmail.com'; 質問1のタイトルを「この回答を報告する人」とします。 正直、自分でも「何、言ってんだろう」と思うほど複雑です。。 }, わたしも、「承認が必要」のエラーのあと、「読み取れません」のエラーに変わりました! titleに件名を。 宜しくお願い致します。. 上部に、以下の記述を追加します。 携帯アドレスに送るのは、 の部分をいじると消すこと(あるいは丸印にする)ことは可能でしょうか。, 参考にさせていただいているばかりで申し訳ございませんが、、、ご教授お願いできますでしょうか。, こんにちは!コメントありがとうございます。 GoogleフォームでGoogle Apps Scriptを使って自動メール送信機能のついたお問合せフォームを作成してみた 2016年2月26日 2020年1月23日 ちゃんなる Web制作 さくっとお問合せフォームを作りたい時に。 var content = '下記の内容で、お問い合わせを受信しました。\n\n' + message; b[a]=b[a]||function(){arguments.currentScript=c.currentScript (adsbygoogle = window.adsbygoogle || []).push({}); の5本が、毎日設置され直されて継続していくわけです。こうすることで、非常に柔軟性のあるトリガーを設置して細かく挙動をコントロールすることが可能になります。, 日付と時刻指定トリガーを3つ設置する(本日の10:00, 本日の10:30, 本日の11:00), Google Apps Scriptで座席表を作ろう – ライブラリ編 officeの杜, これらのトリガーは、すべて±15分のラグを持って作動するようなので、分単位での綿密なトリガー作動は期待してはいけません。, 時間ベーストリガーの場合、SpreadsheetAppなどを使う時にはOpenByIdを利用するようにしましょう。, 同様の理由でgetuiなども無意味ですのでメッセージボックス関係などのコードは外しておきましょう。, データは洗い替えで収集するので、毎回データ取得前には、データをクリアする必要性がある。(clearsheet関数を作成), 取得したデータに対してFilterでフィルタしたものをPDFにしているので、日付データを毎日設定し直す。(filterday関数を作成, 特定の日時でのトリガー設置の為に日付を構築する関数を用意してあげる(getDate()とする)。, 本日の日付と特定時刻で設定されているAM11:00発動のPDF化&メール送信トリガー, このスクリプト群は、一度そのスプレッドシートのIDをスクリプトプロパティに格納しておく必要があるので、最初の1回だけsetup()を実行する必要性があります。, 当たり前ですが、最初の1回だけは、手動でトリガー群を設置しないといけないので、settingAllTrigger()を実行する必要性があります。以降は、トリガーが勝手にやってくれるので、必要ありません。, 特定の日付のトリガー用に、trigger1~3の変数を用意して、getDate()関数で整形して上げた値を返してあげています。, スプレッドシートが開かれていなくても、トリガー発動で消せるように、ssidを設定しておきます。, スクリプトトリガー作動時のユーザは設置者の権限となります。故に、メールアドレスなども設置者のメアドがログに残ることになります。, 複数の人間が同じトリガーを設置してはなりません。また、他の人からは他の人間が設置したスクリプトトリガーは見えませんので要注意です。タブってトリガーが発動されることになります。, 集計したさらに先に、PDFを作成して格納するようなルーチンを書く場合には、スクリプトトリガーの発動時間を当たり前ですが、ずらしておく必要性がある。でないと、集計されきってないのに、空のPDFが作成されたりする。, 複雑な関数を自分で作成し、スプレッドシート内で関数として使っている場合、「読込中・・・」のままになり、これをPDF化するような自動化を行うと、全く帳票として使い物にならないものが生成されるので、なるべくなるべく、スプレッドシート上で使用する関数は標準の関数を使用すること(自作関数はどうしてもスピードでは圧倒的に負ける)。, 時間トリガーはあくまでも指定した時間~時間のどこかで実行されるものなので、確実に何時何分という指定はできない。, 通常は、getActiveSpreadsheetなどで取得しているシートは、openByIdにしておくこと。もちろん、自分自身のIDを取得するような関数も用意しておいて、予めスクリプトプロパティに格納し、呼び出す仕組みが望ましい。でないと、書き込みなどが出来ずに終わってしまう。, スクリプトトリガーの設置では、引数をつけた関数の呼び出しが出来ないので、引数付きで呼び出したい場合には、.
アディダス キッズ アウター 楽天, Pdf フチなし印刷 リコー, オーバーウォッチ 144hz 出ない, 横浜 名古屋 新幹線, ベスパ レストア ショップ, ファミマ すみっコぐらし マグカップ, 白猫 タウン 地下, Outlook 新しい予定 グレーアウト, キッチンライト Led おしゃれ, 電車 遅延 リアルタイム アプリ, 仙台発 バスツアー 食べ放題,