<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Googleスプレッドシート | imakat.com</title>
	<atom:link href="https://imakat.com/tag/google%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://imakat.com</link>
	<description>工夫と改善で人生をちょっと豊かに</description>
	<lastBuildDate>Sun, 14 Sep 2025 02:52:42 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/imakat.com/wp-content/uploads/2023/07/cropped-80d64ecd340db4e2ca3224859b04caed.png?fit=32%2C32&#038;ssl=1</url>
	<title>Googleスプレッドシート | imakat.com</title>
	<link>https://imakat.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">160909258</site>	<item>
		<title>【小団体のIT】スマホから5つのSNSへ、アプリを開かないで送信する方法~AppSheet~</title>
		<link>https://imakat.com/2022/05/06/14993/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Fri, 06 May 2022 07:35:14 +0000</pubDate>
				<category><![CDATA[デジタル]]></category>
		<category><![CDATA[ものづくり]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Push7]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[SNS]]></category>
		<category><![CDATA[ワンタッチ]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Gメール]]></category>
		<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[中途半端な規模]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[LINE]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=14993</guid>

					<description><![CDATA[2023.7.31：TwitterがXに移行。APIへの影響が不明。2023.2.16追記：TwitterAPIの有料化の発表がありましたが、投稿bot1500個までは無料化へ自動移行とのことで、多くの場合、問題なさそう [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>2023.7.31：TwitterがXに移行。APIへの影響が不明。<br>2023.2.16追記：TwitterAPIの有料化の発表がありましたが、投稿bot1500個までは無料化へ自動移行とのことで、多くの場合、問題なさそうです。<br>2022.5.13更新：Twitterを追加。無料使用に留める場合は、API v2を利用すること。</p>



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>＜分散通知をスマホから実行する＞<br><span class="fz-12px"><a href="https://imakat.com/page-220506/" target="_blank">別ページで表示</a></span></p>



<img decoding="async" src="https://docs.google.com/drawings/d/e/2PACX-1vR8WAJSVQk0EV-LtoZdCv8V5n9CnwkUHGAVB1RmMiV05BKu9OWCDJoi8WOuEPfcwWKfEanrFwYxRqft/pub?w=1440&amp;h=1080">



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>メールとブログを含めるとSNSよりソシアルメディア(Social Media)という方が正しいのでしょうが、単語として分かりにくいので、ここでは「情報を配信するツール」としてSNSと呼ばせてもらいます。</p>



<p>さて、昨年5回に亘って、「分散通知の仕組みを作る」として、電子メール、LINE、Push7、Bloggerのそれぞれへ、<strong><span class="marker">アプリを開かないで送信する仕組み</span></strong>、を説明しました。</p>



<p>しかし、スマホで操作すると、GoogleスプシをChromeのPCサイトから扱う、という方法は非常に扱いづらいことは分かっていました。</p>



<p>今回、それを、かなり<strong><span class="marker">実用的に改善しました</span></strong>ので紹介します。</p>



<p>実は、AppSheetとGASの連携については、Google内で開発が進んでいますので、半年先には、もっと簡単に色々できるようになっているかもしれません。</p>



<p>しかし今回私が改善したいこと自体が、さほど、高度な技術を要求することでもありませんので、現状の技量でアプローチしてみます。</p>



<p></p>



<p></p>



<h3 class="wp-block-heading">ポイント解説</h3>



<h4 class="wp-block-heading">＜1＞ 人の手作業は、文を作成修正する→送りたいSNSを選び送信する、ただそれだけ。</h4>



<p>前回の通知方式では、SNSアプリ別にGoogleSSとGASを組み合わせて、GoogleSSを立ち上げて内容を確認して、送信ボタンを押す、これをSNSアプリ毎に行う方式でしたが、今回は、GoogleSSは一つのファイルにして、その中へ、GASを各アプリ別に組み込む、という方法にしました。</p>



<p>その各アプリ別のGASは、前回の通知方式で作ったものを、ほぼそのまま流用しています。<br>作業手順は以下のようになります。</p>



<p>＜作業手順＞<br><span class="fz-12px"><a href="https://imakat.com/page-220507/" target="_blank">別ページで表示</a></span></p>



<img decoding="async" src="https://docs.google.com/drawings/d/e/2PACX-1vQWnxlTE0kL7hQM7qSqi0qRi0U5C5GMRkO8XM-D5EdpkDVyPPPfuzfDKy5GulyJMi1QOOylwOqPxkoT/pub?w=1440&amp;h=1080">



<p>前回は、各GoogleSSを立ち上げて、投稿ボタンを押す、これを繰り返すという手間がありました。それがAppSheetの以下の２つのメニューで完結するようにしました。なお、AppSheetについては、<a href="https://imakat.com/2022/02/27/14686/" target="_blank">こちらの投稿</a>の中で、概略触れています。解説している日本語の書物は殆ど見かけませんが、唯一<a rel="noopener" target="_blank" href="https://www.amazon.co.jp/Google-AppSheet-ではじめる-ノーコード開発入門-掌田津耶乃/dp/4899775199/ref=asc_df_4899775199/?tag=jpgo-22&amp;linkCode=df0&amp;hvadid=524423533651&amp;hvpos=&amp;hvnetw=g&amp;hvrand=18135569281701901134&amp;hvpone=&amp;hvptwo=&amp;hvqmt=&amp;hvdev=c&amp;hvdvcmdl=&amp;hvlocint=&amp;hvlocphy=1009446&amp;hvtargid=pla-1290663459033&amp;psc=1&amp;th=1&amp;psc=1">これ<span class="fa fa-external-link external-icon anchor-icon"></span></a>くらいです。使っているうちにだんだん慣れてくるとは思います。</p>



<p>AppSheetアプリの実際の動きは、以下の動画をご覧ください。</p>



<div style="position:relative;">
<iframe src="https://player.vimeo.com/video/707215784?&#10;title=0&amp;&#10;byline=0&amp;&#10;muted=0&amp;&#10;portrait=0&amp;&#10;autopause=0" style="position:absolute;top:0;
left:0;
width:100%;
height:100%;
" frameborder="0" allow="autoplay;
fullscreen" allowfullscreen="">
</iframe>
</div>
<script src="https://player.vimeo.com/api/player.js">
</script>
<p>このビデオは無音です。Twitterは組み込む前です。</p>



<p>以上のような動きになりますが、その中で、通知の作成及び修正の画面が以下です。追加または修正した行が、通知の送信の対象となります。ですから、今現在適当なテスト内容になっていますが、例えば、「避難情報通知用」などテンプレートとして用意しておくのもいい方法です。</p>



<figure class="wp-block-image size-large is-resized"><a href="https://imakat.com/rd.php?id=8rJroonM.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=8rJroonM.png" alt="" style="width:407px;height:705px"/></a></figure>



<p></p>



<figure class="wp-block-image size-large is-resized"><a href="https://imakat.com/rd.php?id=GAW83tyP.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=GAW83tyP.png" alt="" style="width:406px;height:697px"/></a></figure>



<p></p>



<figure class="wp-block-image size-large is-resized"><a href="https://imakat.com/rd.php?id=lCFUGKdp.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=lCFUGKdp.png" alt="" style="width:407px;height:700px"/></a></figure>



<p>上図を表示しているデータは、以下です。sheet1には順次新しい投稿が書き込まれて、それを更新日時でSORTしたものがsheet2へ入り、その最新行からsheet3をコピーしています。</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=IoyR23xN.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=IoyR23xN.png" alt=""/></a><figcaption class="wp-element-caption">Twitterについては、投稿の重複は拒否されるので、その点の工夫が必要。</figcaption></figure>



<p>「拡張機能」→「Apps Script」の中に記述したスクリプトは、全部掲載します。</p>



<p><a href="https://imakat.com/page-220507-2/" target="_blank">複数SNSの送信GAS</a></p>



<h4 class="wp-block-heading">＜２＞　Twitterを使えるようにする。</h4>



<p><strong>Twitter</strong>ですが、災害発生時には最も実績のある情報発信ツールであることは、東日本大震災他大災害の時を振り返れば明らかです。ただ、利用者が多いからか、イタズラや不正利用を防止せねばならず、APIのような、外部からアクセスできるツールに対する許可は、敷居が高い印象がありました。</p>



<p>しかし、申し込んでみると結構すんなりいけます。最近、APIが、APIv1.1からAPI v2にバージョンアップしました。どうもAPI v2から直接使う方法が分かりにくく、色々調べて、TwitterAPI v2をEssentialから<strong>Elevated(無料）</strong>へ引き上げる方法が良さそうです。</p>



<figure class="wp-block-image size-large is-resized"><a href="https://imakat.com/rd.php?id=uZeL8qSA.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=uZeL8qSA.png" alt="" style="width:584px;height:668px"/></a></figure>



<p></p>



<p>引き上げる際に、許可が必要で、用途に関する質問に英語で返答する必要がありますが、簡単な英語で書いても大丈夫かと思います。数多く解説のブログが書かれていますが、例えば<a rel="noopener" target="_blank" href="http://pineplanter.moo.jp/non-it-salaryman/2021/07/17/gas-twitter/">このブログ<span class="fa fa-external-link external-icon anchor-icon"></span></a>は分かりやすいです。</p>



<p><br>引き上げておいて、<br>OAuth1.0aのみにチェック<br>OAUTH1.0A SETTINGS でRead and writeにチェック<br>CallbackURI/RedirectURL ,WebsiteURL,Terms of service,Privacy policyは、https://twitter.com<br>と設定します。</p>



<figure class="wp-block-image size-large is-resized"><a href="https://imakat.com/rd.php?id=CuVR3D75.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=CuVR3D75.png" alt="" style="width:576px;height:653px"/></a></figure>



<p><br>Twitterは、同一内容の複数投稿は拒否するようです。その辺りは、GoogleSSのカラムに前回の投稿内容をコピーして今回の投稿内容と比較して、同じ場合は、tweet.gs内でルーチンを通さないようにしました(上のGASを参照）。</p>



<p><br></p>



<h4 class="wp-block-heading">＜３＞　AppSheetで作ったアプリはプロの仕上がり感</h4>



<p>AppSheetは、各SNSのロゴをイメージとして読み込んで表示するだけのことですが、上の図のように、プロが作ったようなアプリになります。そこが素晴らしい。</p>



<p>課題点というか仕方ない点としては、各SNS別に送信履歴を残していない点です。これはまあ、各アプリ側では当然履歴として残っていますのでそれで十分でしょう。</p>



<p>現状は、各SNS側の画面から通知文の修正は出来ないようになっています。しかし、基本となる通知文を作った後で、それを各アプリ側でコピーして、各アプリ側で修正して送信する、という流れの方が素直かも知れません。<br>このあたりは、AppSheetとGASの連携の開発が進むと、すぐに可能になりそうです。しかしながら、今回のものでも、特に不便は感じません。</p>



<h4 class="wp-block-heading">＜４＞頻繁にテスト出来ない悩み</h4>



<p>この複数通知の仕組みを作って思う課題、課題というか悩みは、頻繁にテスト出来ないことです。なにしろ、緊急通知が目的ですから、滅多に通知なんか発信されるものではないです。テスト用にそれぞれIDやアドレスを作ったとしても、実用としては常に本番用のアドレスにしておかなければ意味がありません。そんなわけで、実際に全部テストできるのは、年に一度の「防災訓練の日」の活動の一環としてテスト送信させてもらう、ということになります。</p>



<p>そこがちょっと不便なところ。</p>



<p>でも多くの方は、そんな緊急発信のためではなく、いわゆる普通の「伝言板」「回覧板」的な使い方になると思いますので、十分、応用できると思います。</p>



<h4 class="wp-block-heading">＜５＞まとめ〜中途半端な規模の人たちのために〜懸念材料</h4>



<p>地方自治体で多いのは、「LINEに加入してアプリを入れて活用してください」型です。正直言ってLINEを嫌いな人もいるはず。しかし最近、だんだん、LINEに限定させず複数のSNSの中から、ユーザーが選択できる形式も増えてきました。</p>



<p>スタッフの充実した都市の役所や大規模組織なら色々そうした工夫ができるでしょう。逆に、本当に小さい規模なら電話一本、伝言でOKでしょう。しかし<strong>大多数は、そのどちらとも言えない中途半端な規模</strong>の自治会、中途半端な規模のNPO。公民館はあるが住み込みは置けない。電話もない。自治会としてインターネット契約をすることは結構面倒なので、個人に契約者になってもらおうとすると、その個人がいつまで肩代わりしてくれるか保証はない。そうなると、Googleなどのサービスも無料で使えるものが中心となります。そんな人たちのために、少しでもお役に立てば嬉しいです。</p>



<p>懸念材料としては、Twitter Botに有料化の動きがあること。GASやAppSheetの連携が自動化処理と見做されると停止されるか有料化されることを懸念します。つまり無料で使えるインターネットサービスは、減少していく方向にあるでしょう。</p>



<p>以上です。</p>


]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14993</post-id>	</item>
		<item>
		<title>【AppSheet】和暦を基本としてデータベースを使う。これぞモダンな生き方。</title>
		<link>https://imakat.com/2022/02/27/14686/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Sun, 27 Feb 2022 08:40:07 +0000</pubDate>
				<category><![CDATA[デジタル]]></category>
		<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[AppSheet]]></category>
		<category><![CDATA[query関数]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=14686</guid>

					<description><![CDATA[＜和暦だなんて日本人だけが使う。だからこそ。使えるなら使いたい。＞ 最近は、パソコンやスマホをよく使う人は、西暦をベースに使う人が多数かと思います。しかし、お役所や自治会などの書類は和暦が中心です。自治会のデータベースな [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>＜和暦だなんて日本人だけが使う。だからこそ。使えるなら使いたい。＞</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=WBWN94xu.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=WBWN94xu.png" alt=""/></a></figure>



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>最近は、パソコンやスマホをよく使う人は、西暦をベースに使う人が多数かと思います。しかし、お役所や自治会などの書類は和暦が中心です。自治会のデータベースなどを作るとき、和暦西暦のどちらを基本にして記録するようにするか、悩みどころです。</p>



<h4 class="wp-block-heading">10年前は平成何年ですか？</h4>



<p><strong>こんな簡単な質問に、多くの日本人が即答できません</strong>。「えーと平成は、31年までだっけ。だから。えーと。。。変なこと聞くな！」と逆に怒られてしまうそうです。</p>



<p>しかしなんで和暦などという不便なものを、お役所は使っているのでしょうかね。</p>



<p>多分、公務員の最初の仕事は、和暦西暦対照表を暗記することなのかも知れません。まあ大正くらいまで。まあ、覚えるのは無理か、机の上に貼ってあるでしょうね。</p>



<p>でも介護保険証を持つような高齢者になってきた私は、日本人なのだからパソコンの中でも和暦を使いたい、そんな思いが強くなりました。</p>



<p>AppSheetとは、ノーコードアプリ開発用のアプリと分類される、今流行りの、というか、これから流行るだろう開発ツールの一つです。Googleが提供しています。最近私は、GoogleのGASやスプレッドシートで、複数のプッシュ通知を簡単に操る方法を自作してきましたが、その延長において、このAppSheetのデータベース機能が加わると、もうほんとに、大袈裟に言えば、自宅のパソコンで手軽に、本格的な情報処理システムが出来てしまう。そんな気がしてきます。</p>



<h4 class="wp-block-heading">一番最初に作っておくこと。</h4>



<p>　旅に出る時、必要なものを予めリュックに詰め込めたら、とても安心できます。しかし、<strong>後になってから元に戻って、新しい要素を突っ込むのは、実に困難</strong>です。その意味で、以下で解説する「年号アプリ」は、ITに旅があるとすれば、旅の必携品の一つではないかと思います。</p>



<p>余談ですが、このデータベースアプリAppSheetを体験すると、おそらく多くの人が、「だから経験者は強いんだ。経験者から学ぶべきなのだ。」と、このことに気付くはずです。「先輩が言っていたのはこのことだったのか。」と。ん〜、だから、AppSheetのような類は、時代に合っています。教材にはうってつけでしょう。</p>



<h3 class="wp-block-heading">ポイント解説</h3>



<p>年号アプリを作る手順を解説します。</p>



<h4 class="wp-block-heading">＜1＞ Googleスプレッドシートで年号ファイルを作る。</h4>



<p>最初に以下のように、シート名を「年号」、項目に「ID年号」「和暦」「西暦」を作ります。</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=prJDfuXx.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=prJDfuXx.png" alt=""/></a></figure>



<p></p>



<h4 class="wp-block-heading">＜2＞AppSheetで年号をメンテナンスするアプリを作る。</h4>



<p>さて次に、Googleスプシへ、データを書き込んでいきます。この時、AppSheetを使うようにします。AppSheetはGoogleから無料で使えるデータベース開発アプリですが、Googleアカウントを持っていれば、誰でも無料で使えます。Googleスプシのメニューの「拡張機能」の中にあるAppSheetを使います。</p>



<p>肝心なことを言い忘れていました。AppSheetはまだ英語のままです。とはいえ、それほど難しい英語ではありませんので、慣れると思います。ここでは解説は割愛しますが、YouTubeを紹介します。</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="【Appsheet】初めてのノーコードプログラミング 初心者向けGoogle Appsheetで近隣の植物の写真リストを作ろう！" width="1256" height="707" src="https://www.youtube.com/embed/e_N9iL672no?start=259&#038;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p></p>



<p></p>



<h4 class="wp-block-heading">＜3＞和暦西暦を登録する。</h4>



<p>上のYouTubeの例は、植物の登録ですが、今回は、和暦と西暦を画面から打ち込む、という作業になります。「UX」でformを選択すると、以下のような入力画面が作れます。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://imakat.com/rd.php?id=0LXNos3g.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=0LXNos3g.png" alt="" style="width:736px;height:auto"/></a><figcaption class="wp-element-caption">「キャンセルする」「保存する」と表示を日本語にするのは、「UX」→「Localize」で英文字を日本語へ変更します。</figcaption></figure>



<p>Gooogleスプシには以下のようにデータが入ります。「ID年号」には乱数が入っていますが、これは項目名の先頭にIDを入れて「IDxxxx」と名前を付けると、初期値(INITIAL VALUE)に&lt;&lt; UNIQUEID() &gt;&gt;が自動的に入って、乱数が自動的に生成されます。このようにランダム生成される「ID年号」をKEYにする理由ですが、一つの西暦の中に複数の和暦が存在するからです。例えば、2019年には平成31と令和1が存在します。古く飛鳥時代は、複数の和暦だらけです。</p>



<p>余談ですが、履歴書を書く場合は、令和1年ではなく令和元年と書く方が正式だそうです。今回のデータベースはどちらにしましょうか。後から変えることができますので、とりあえず&lt;&lt; 令和1&gt;&gt;と数字で書くことにしておきます。</p>



<p>６行目が空欄になっていますが、これはformからデータを「削除」しています。</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=5CA44Uep.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=5CA44Uep.png" alt=""/></a></figure>



<p>さて、こうして、和暦西暦データを登録していきますが、たまたま私は、令和4年から遡るように入れたので、先頭に令和4が来ています。というか逆に、古い方から入れたら「大化1=645」から入れることになります（ま、いずれやってみます)。ともかく、この後、令和5以降を入れた場合、一番下の行に追加されることになります。つまり、もし、このままのデータ順で年号を選ぶと、選択肢の一番下に令和5が来ることになり、とても面倒です。</p>



<h4 class="wp-block-heading">＜4＞Googleスプレッドシート２番目のシート、例えば「西暦SORT年号」シートを作る。</h4>



<p>そこで私の考えた簡単な方法です。まず、適当な名前をつけた、例えば「西暦SORT年号」シートを追加します。</p>



<h4 class="wp-block-heading">＜5＞「西暦SORT年号」シートにquery関数を埋め込む。</h4>



<p>以下の関数をA1カラムに書き込みます。空白行を飛ばしてC列の降順（大きいものが先頭に来る)に並び替える関数です。ちなみに、昇順にするには&lt;&lt; asc &gt;&gt;にします。</p>



<pre class="wp-block-code"><code>=query('年号'!A:C,"select * where C is not null order by C desc")</code></pre>



<p>すると、一番下の行にある「令和5」は一番大きい西暦なので、先頭に来ます。</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=Xmwde23Q.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=Xmwde23Q.png" alt=""/></a></figure>



<p></p>



<h4 class="wp-block-heading">＜６＞AppSheetで利用する〜参照はRead-Onlyで。</h4>



<p>年号のメンテナンスは、「年号」シートへ　&lt;&lt; Updates Adds Deletes  &gt;&gt;で行い、利用する時は、「西暦SORT年号」シートから&lt;&lt; Read-Only &gt;&gt;で利用します。AppSheetの「Columns」設定でKEYを「ID年号」、LABELを「和暦」にします。そうすることにより、以下のように、令和5が先頭に来た選択リストを表示することができます。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://imakat.com/rd.php?id=g3muudHB.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=g3muudHB.png" alt="" style="width:698px;height:auto"/></a></figure>



<p>また、<strong>和暦の生年月から現在の年齢を計算する時、和暦間の年数を計算する時、対応する西暦がすぐ参照できるので、非常に便利</strong>です。</p>



<p>今回の方法を元にSORTカラムを設定してメンテすれば、様々な選択リストにおいて、任意に並び替えができますので応用ください。</p>



<p></p>



<h4 class="wp-block-heading">＜7＞スムーズに使うちょっとしたコツ。</h4>



<p>２つほど紹介します。</p>



<p>１つ目は、上記の例ですが、選択リスト表示をした時、変な順番で表示される時は、<strong>GoogleSSを開いて</strong>、シートの内容を確認して、<strong>また閉じる</strong>、あるいは<strong>ブラウザの閲覧履歴を削除する</strong>、すると大抵は直るのではないでしょうか。</p>



<p>２つ目は、作ったAppSheetアプリですが、私は個人または数人の利用の範囲ですのでデプロイしません。View表示した時のURLをそのまま、ブラウザのお気に入りにブックマークします。コピーしたURLの中に、SORTほかいくつかの命令が含まれたままになっていると、(モバイル、タブレットは問題ないですが）、PC表示にした際、古い動作がそのまま残ってしまいます。</p>



<p>例えばURLが以下の場合は、</p>



<pre class="wp-block-code"><code>https:&#47;&#47;www.appsheet.com/start/aaaaaaaaaaa#appName=bbbbbbbbbbbbb
<strong><span class="bold-red">&amp;group=~~&amp;sort=~~~&amp;~~~&amp;~~~&amp;view=cccccc</span></strong></code></pre>



<p>以下のように&amp;view=のみにする。</p>



<pre class="wp-block-code"><code>https:&#47;&#47;www.appsheet.com/start/aaaaaaaaaaa#appName=bbbbbbbbbbbbb
<strong><span class="bold-red">&amp;view=cccccc</span></strong></code></pre>



<p>こうすると、PC(WinMac)、モバイル、タブレット、の動作が同じになります。</p>



<h4 class="wp-block-heading">＜８＞余談</h4>



<p>そんなことしなくても、EXCELの「セルの書式設定」の中に、西暦を和暦に変換してくれる機能があるじゃないですか。</p>



<p>とおっしゃる方がいると思います。</p>



<p>しかしそれは近視眼ではありませんか？</p>



<p><strong>EXCELは明治33年=1900年以降しか変換できません</strong>。試しに645年を入れても「大化」とは出てきません。</p>



<p>それでは困りますよね？</p>



<p>え！困らない。。。</p>



<p>まあ。。正直言って、和暦は。</p>



<p>無くても困りません。</p>



<p>無くても、世界どこにいても、日本の中でも、困るということはありません。</p>



<p>ただ言わば、日本の長い歴史を証する日本語の文字列、ある種DNA配列のようなものです。困らないけど大事なんですね。</p>



<p>だから、明治33年以降しか出ません。というのでは、この投稿の目的から外れます。</p>



<p>えっちらおっちら、表にしてみましょうか。。。</p>



<p></p>



<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://imakat.com/rd.php?id=OCd98Hec.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=OCd98Hec.png" alt="" style="width:682px;height:auto"/></a></figure>



<p>以上</p>


]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14686</post-id>	</item>
		<item>
		<title>【GAS】分散通知の仕組みを作る〜Googleアプリ、GAS及びAPIの活用　STEP5: ブログ(Blogger)への投稿・全体まとめ(5/5)</title>
		<link>https://imakat.com/2021/10/15/14054/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Fri, 15 Oct 2021 02:33:29 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[デジタル]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[GAS]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=14054</guid>

					<description><![CDATA[＜分散通知の仕組みを作る　STEP5: ブログ(Blogger)への投稿＞別ページで表示 ブログは、時系列の掲示板であり、その中には、今回取り上げている緊急通知も含めていいと考えています。記事の性格は、楽しい思い出づくり [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>＜分散通知の仕組みを作る　STEP5: ブログ(Blogger)への投稿＞<br><span class="fz-12px"><a href="https://imakat.com/page-11646-4-2-3-2/" target="_blank">別ページで表示</a></span></p>



<img decoding="async" src="https://docs.google.com/drawings/d/e/2PACX-1vS9vKizc6xV7tI7qoc0Xd0k1DHE11asFoRTPnnevUBwBrBuY4Eiy6GDSQ694HDKRS9TTmpMy_YBzZ1W/pub?w=1440&amp;h=1080">



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>ブログは、時系列の掲示板であり、その中には、今回取り上げている緊急通知も含めていいと考えています。記事の性格は、楽しい思い出づくりとは異なりますが、緊急かつ重要な情報は、どこにでも飛び込んでいいものと考えます。</p>



<p>今回、無料のブログの選択には、多少悩みました。この種のサービスは打ち切りになることが多いからです。その中から、Googleと相性がいいもの、シンプルなもの、であるBloggerを選択しました。Bloggerは他のサービスへの移動、例えばWordPressへの移動などについても、説明が数多くあることも安心です。</p>



<p></p>



<h3 class="wp-block-heading">ポイント解説</h3>



<h4 class="wp-block-heading">＜1＞ GoogleSSへの取り込み</h4>



<p>流れとしては、通知文GoogleSS→Blogger送信用GoogleSS→Blogger、です。APIは使いません。Bloggerにはメール投稿機能が備わっており、それを利用します。</p>



<p>Blogger送信用GoogleSSの画面は以下です。</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=lC1H29W9.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=lC1H29W9.png" alt=""/></a></figure>



<p>この画面には、Googleフォームへ入力した通知文GoogleSSが取り込まれるため、内容を確認するだけです。問題がなければ、「Blogger投稿」ボタンを押します。</p>



<p><strong>通知文の読み込み：</strong></p>



<p>IMPORTRANGE関数を使います。<br>読み込みたいGoogleSSのURLが、下記のようになっていたとして、</p>



<pre class="wp-block-code"><code>https:&#47;&#47;docs.google.com/spreadsheets/d/【この部分】/edit#gid=0</code></pre>



<p>【この部分】を以下の場所に当てはめてください。sheet1は実際のシート名、A10,A12のところも実際のセル位置を当てはめてください。</p>



<p>Bloggerでは、タイトル、本文と関係リンク、の２データを、通知文GoogleSS から読み込んで、このBlogger用GoogleSSへ取り込みます。</p>



<pre class="wp-block-code"><code>=IMPORTRANGE("【この部分】","sheet1!A10")
=IMPORTRANGE("【この部分】","sheet1!A12")</code></pre>



<h4 class="wp-block-heading">＜2＞GAS記述</h4>



<p><strong>GASの記述：</strong></p>



<p>このままコピペください。<span class="bold-red">赤字</span>は、例示です。</p>



<p>STEP2の電子メールと、考え方は同じです。</p>



<p>・<span class="bold-red">nihonnofujisan001</span>は、google個人アカウントです。<br>・投稿用のメールアドレスが、Bloggerから与えられます。その時【任意の文字列】を設定します。<br></p>



<pre class="wp-block-code"><code>function sendMail(){
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  const from = '<span class="bold-red">nihonnofujisan001</span>@gmail.com';
  const to = '<span class="bold-red">nihonnofujisan001</span>.【任意の文字列】@blogger.com';
  const subject = sheet.getRange(<span class="bold-red">3,1</span>).getValue();
  const body = sheet.getRange(<span class="bold-red">5,2</span>).getValue();
GmailApp.sendEmail(to, subject, body);
}
</code></pre>



<h4 class="wp-block-heading"><strong>＜３＞なぜ30分以内？：</strong></h4>



<p>ブログ（ネット掲示板）をユーザーが見るのを30分以内、としているのは、ブログには、Push7からRSS連携：</p>



<p><strong><span class="bold-red">赤字</span></strong>は、例示です。</p>



<pre class="wp-block-code"><code>https://<span class="bold-red">nihonnofujisan001</span>.blogspot.com/feeds/posts/default</code></pre>



<p>を貼り付けています。こうしたRSSフィードは、様々なサービスがあるので、もっと短い巡回時間のものもあると思います。一応、Push7の巡回は30分以内となっています。30分以内は標準的かと思います。</p>



<p>ちなみに私は、Push7を、ブログ更新とは切り離した緊急通知用と、ブログ更新とリンクした一般通知用の２箇所に貼り付けています。</p>



<h4 class="wp-block-heading">＜４＞全体のまとめ</h4>



<h5 class="wp-block-heading">１）配信数の制約に注意。緊急通知だけなら、会員700人以下なら無料で運用できそう。</h5>



<p></p>



<p></p>



<figure class="wp-block-table"><table><tbody><tr><td>サービス名</td><td class="has-text-align-center" data-align="center">無料：同時に1回何通まで</td><td class="has-text-align-center" data-align="center">無料：日・月の合計数の上限</td><td class="has-text-align-center" data-align="center">想定最大通知数</td><td class="has-text-align-center" data-align="center">想定利用者上限(歩留り70%)</td></tr><tr><td><a rel="noopener" target="_blank" href="https://support.google.com/mail/answer/22839?hl=ja#zippy=%2C送信できるメールの制限数に達しました">Googleグループメール<span class="fa fa-external-link external-icon anchor-icon"></span></a> </td><td class="has-text-align-center" data-align="center">500通</td><td class="has-text-align-center" data-align="center">500通/日</td><td class="has-text-align-center" data-align="center">週2回</td><td class="has-text-align-center" data-align="center">175人</td></tr><tr><td><a rel="noopener" target="_blank" href="https://line-sm.com/blog/lineofficial_message_count/">LINE公式アカウント<span class="fa fa-external-link external-icon anchor-icon"></span></a></td><td class="has-text-align-center" data-align="center"></td><td class="has-text-align-center" data-align="center">1000通/月</td><td class="has-text-align-center" data-align="center">週2回</td><td class="has-text-align-center" data-align="center">88人</td></tr><tr><td><a rel="noopener" target="_blank" href="https://push7.jp/blog/faq/">Push7<span class="fa fa-external-link external-icon anchor-icon"></span></a></td><td class="has-text-align-center" data-align="center"></td><td class="has-text-align-center" data-align="center">5000通/月</td><td class="has-text-align-center" data-align="center">週2回</td><td class="has-text-align-center" data-align="center">437人</td></tr><tr><td></td><td class="has-text-align-center" data-align="center"></td><td class="has-text-align-center" data-align="center"></td><td class="has-text-align-center" data-align="center">合計</td><td class="has-text-align-center" data-align="center">700人</td></tr></tbody></table></figure>



<p>現在、私は、全世帯が、3つから１つだけ選んで登録するとして、600〜700世帯を想定しています。トータルとしては、この３つのサービスで、お金をかけずに続けそうですが、自由に選んでもらうとLINEに集中するのでは。LINEの無料のワクは非常に小さいです。後でPush7やメールへ変更を促すことになるのでしょうかね。いずれにしても、緊急通知は一方通行、仮に事態が集中したとしても週２〜３回に収まるのではないでしょうか。</p>



<p>緊急通知の配信基準を設けておく必要があるでしょう。</p>



<p>例として、</p>



<hr class="wp-block-separator has-css-opacity"/>



<p>・水害・土砂災害における避難警戒レベル３以上の発令に伴い、自治体から、当該地域あてに発出された情報。</p>



<p>・地域の災害対策組織の長（自治会長や町内会長など）が決定した配信情報。例えば、道路の陥没、建物の倒壊、断層など上部自治体の危険箇所情報からこぼれ落ちた地域住民向けの情報。</p>



<p>・事件事故の発生に伴い、警察消防から発出された、地域住民への警戒情報。</p>



<p>・その他、自治体から要請があり当該長が了承した緊急通知。例えば、同報無線の能力不足、故障時の支援も含む。</p>



<hr class="wp-block-separator has-css-opacity"/>



<p>など。何がどう重なるか分かりませんが、不幸が重なったとしても週２〜３回で収まると、私は想像します。</p>



<p></p>



<p>しかし世帯数が1,000世帯を超えるようだと、レンタルサーバーを使うなど、有料にならざるを得ないのでは。</p>



<p>理想的には、500〜600世帯ごとに、このような仕組みが運営できれば、機動的でしょう。</p>



<h5 class="wp-block-heading">２）異なったサービスだが、操作方法は統一する。その上で、一つ一つ、送信成功を確かめながら送るのがいい。</h5>



<p>今回の、分散通知ですが、使用頻度が非常に低いです。防災などの緊急通知が主目的。そんな災害は頻繁にはないです。ですから、わかりやすく言えば、<strong>この仕組みの使い方を忘れた頃、突然、使うことになる</strong>のだと想像します。従って、覚える操作方法は一つだけにすること。そしてそれを、それぞれのサービスに適用して、送信出来るようにしておくのが重要だと考えます。</p>



<p></p>



<h5 class="wp-block-heading">3)  GoogleSSをアプリ毎に別ファイルにした理由</h5>



<p>アプリ側はそれぞれ異なる会社のサーバーになります。全体が一箇所のトラブルに巻き込まれないように、GoogleSSは、シート別ではなく、ファイル別に用意しました。</p>



<h5 class="wp-block-heading">4）目標：緊急通知を、スマホから、１３分以内で、７００人へ送る仕組みを、タダで作る。</h5>



<p>今回、この目標を達成できたような気もしていますが、実用上、どうなるかはわかりません。</p>



<p>今回、私のブログを読んで下さった方は、私同様、開発費もタダにすることができると思います。これからも工夫改善は続きます。</p>



<p><a href="https://imakat.com/2021/10/13/13863/" target="_blank">STEP1へ戻る</a></p>



<p>以上</p>


]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14054</post-id>	</item>
		<item>
		<title>【GAS】分散通知の仕組みを作る〜Googleアプリ、GAS及びAPIの活用　STEP4: Push7のプッシュ通知(4/5)</title>
		<link>https://imakat.com/2021/10/15/14021/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Thu, 14 Oct 2021 22:33:17 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[デジタル]]></category>
		<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Push7]]></category>
		<category><![CDATA[プッシュ通知]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=14021</guid>

					<description><![CDATA[＜分散通知の仕組みを作る　STEP4: Push7のプッシュ通知＞別ページで表示 LINEや電子メールは双方向の会話の機能があるので、「りんごちゃん」などニックネームで構わないが何らかのID情報が配信側に伝わります。しか [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>＜分散通知の仕組みを作る　STEP4: Push7のプッシュ通知＞<br><span class="fz-12px"><a href="https://imakat.com/page-11646-4-2-3/" target="_blank">別ページで表示</a></span></p>



<img decoding="async" src="https://docs.google.com/drawings/d/e/2PACX-1vQbOAqUsZ3ihHYbzYqnutFIBTTZN5oywF3wjFlkdzol2WoBJJEUkPHV0fhSYG_Szb22ufvPz2YRWk85/pub?w=1440&amp;h=1080">



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>LINEや電子メールは双方向の会話の機能があるので、「りんごちゃん」などニックネームで構わないが何らかのID情報が配信側に伝わります。しかし、利用者側には、それすら知られたくない人もいます。</p>



<p>Push7は、ニックネームすら入力不要、です。敷居が低いです。</p>



<p>Push7に似た仕組みは、既にネット上に溢れています。ふだんサイトを見ていると、ヒョコッと顔を出して、「登録しませんか」と誘いかけられ、即座に、×、拒否、NO、不要を返事する、それが条件反射になっているあれです（ブラウザの設定でポップアップを禁止に出来ると思いますが）。</p>



<p>今私は、緊急通知を準備しているので、ポップアップ禁止設定にしたおかげで目にも触れない、というのでは困ります。そこで、サイトの文面の中で、説明を加えて、ボタンを押してもらって申し込んでもらう手順にしています。このPush7のサイトへの設置方法の説明は、長くなるので、この記事では、割愛します。</p>



<p></p>



<p>このSTEP4における配信作業の流れでは、Push7のアプリは何も触りません。</p>



<p>Push7のアプリをスマホから触りたくない理由ですが、プッシュ通知を打ち込むまでの画面の操作が非常に扱いにくい点があります。アプ通知文がSTEP1で作成済みならば、STEP2、STEP3とやることはほぼ同じです。ChromeからGoogleSSを立ち上げる-&gt;PC版サイトを選ぶ-&gt;iphoneを横向きにする-&gt;閉じるをクリック-&gt;内容を一応点検したら「Push7投稿」ボタンをクリック。という手順。</p>



<p>Push7のいい点は、管理する側における、利用者の登録や削除については、作業は何もないです。</p>



<p>実に簡単です。</p>



<h3 class="wp-block-heading">ポイント解説</h3>



<h4 class="wp-block-heading">＜1＞ GoogleSSへの取り込み</h4>



<p>Push7で送信する内容のうち、毎回変更されるのは、タイトル、関係リンク、本文の３個です。</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=lC1H29W9.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=lC1H29W9.png" alt=""/></a></figure>



<p>この画面には、Googleフォームへ入力した通知文が取り込まれるため、内容を確認するだけです。問題がなければ、「Push7投稿」ボタンを押します。</p>



<p><strong>通知文の読み込み：</strong></p>



<p>IMPORTRANGE関数を使います。<br>読み込みたいGoogleSSのURLが、下記のようになっていたとして、</p>



<pre class="wp-block-code"><code>https:&#47;&#47;docs.google.com/spreadsheets/d/【この部分】/edit#gid=0</code></pre>



<p>【この部分】を以下の場所に当てはめてください。sheet1は実際のシート名、A10,A12,A14のところも実際のセル位置を当てはめてください。</p>



<p>Push7では、タイトル、関係リンク、本文の３データを、通知文GoogleSS から読み込んで、このPush7用GoogleSSへ取り込みます。</p>



<pre class="wp-block-code"><code>=IMPORTRANGE("【この部分】","sheet1!A10")
=IMPORTRANGE("【この部分】","sheet1!A12")
=IMPORTRANGE("【この部分】","sheet1!A14")</code></pre>



<h4 class="wp-block-heading">＜2＞APIの取得とGAS記述</h4>



<p><strong>APIの取得：</strong></p>



<p><a rel="noopener" target="_blank" href="https://push7.jp">Push7<span class="fa fa-external-link external-icon anchor-icon"></span></a>は、親切に、API設置方法などが解説されています。</p>



<p><a rel="noopener" target="_blank" href="https://push7.jp/docs/development/api/">Push7 APIの利用<span class="fa fa-external-link external-icon anchor-icon"></span></a>　←この中の「Webプッシュ通知を送信するAPI」の項目が参考になります。</p>



<p>Push7は、メールアドレスとパスワードで登録できます。次に、プロジェクトを例えば「ABC会_通知」などとつけて設置すると、そのプロジェクトごとに、下記のように、App NumberとAPI Keyが発行されます。</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=ACBb1sf3.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=ACBb1sf3.png" alt=""/></a><figcaption class="wp-element-caption">Push7 API : API NumberとAPI Keyを取得する。</figcaption></figure>



<p></p>



<p></p>



<p><strong>GASの記述：</strong></p>



<p>このままコピペください。<span class="bold-red">赤字</span>は、例示です。</p>



<p>・iconは、ここに指定した画像が選択されて通知に表示されます。<br>・urlは、表示された通知画面をクリックすると移動するサイトです。<br>・disappear_instantlyは、falseにすると画面の表示にタッチされるまでは表示が残ります。trueにすると数秒後には消えます。</p>



<pre class="wp-block-code"><code>const notifyPush7 = () =&gt; {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  const apikey = "【上画像のAPI Key】"
  const appno = '【上画像のApp Number】'
  const url = 'https://api.push7.jp/api/v1/【上画像のApp Number】/send';
  const headers = {
    'Content-Type' : 'application/json; charset=UTF-8',
    'Authorization' : 'Bearer ' + apikey,
 };
const data = {
'title': sheet.getRange(<span class="bold-red">3,1</span>).getValue(),
'body' : sheet.getRange(<span class="bold-red">7,1</span>).getValue(),
'icon' : "<span class="bold-red">https://***.com/****.jpeg</span>",
'url' :  sheet.getRange(<span class="bold-red">5,1</span>).getValue(),
'apikey' : "【上画像のAPI Key】",
'disappear_instantly' : false,
//'transmission_time": "2021/10/10 10:10"
//'query' : true,
}
const options = {
  'method' : 'post',
  'headers': headers,
  'payload': JSON.stringify(data)
};
UrlFetchApp.fetch(url,options);
}
</code></pre>



<p>具体的には、以下の、アプリによる送信画面を見て、対応関係を確認ください。</p>



<p>この「タイトル」「URL」「内容」の部分を、STEP1で作った通知文GoogleSSから、自動的に取り込むプログラムになっています。</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=4yzyetYc.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=4yzyetYc.png" alt=""/></a><figcaption class="wp-element-caption">Push7アプリの新規プッシュ通知の画面</figcaption></figure>



<p>次回のSTEP5は、Googleが提供するブログであるBloggerへ、同じ通知文を投稿する方法を説明します。割と簡単です。</p>



<p><a href="https://imakat.com/2021/10/15/14054/" target="_blank">STEP5</a></p>



<p>以上</p>


]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14021</post-id>	</item>
		<item>
		<title>【GAS】分散通知の仕組みを作る〜Googleアプリ、GAS及びAPIの活用　STEP3: LINEのメッセージ配信(3/5)</title>
		<link>https://imakat.com/2021/10/14/13982/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Thu, 14 Oct 2021 04:17:55 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[デジタル]]></category>
		<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[LINE]]></category>
		<category><![CDATA[API]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=13982</guid>

					<description><![CDATA[＜分散通知の仕組みを作る　STEP3: LINEのメッセージ配信＞別ページで表示 iPhoneのLINE公式アカウントアプリには、「メッセージを配信する」機能があり、扱い易いです。しかしその扱いやすさの程度ですが、アプリ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>＜分散通知の仕組みを作る　STEP3: LINEのメッセージ配信＞<br><span class="fz-12px"><a href="https://imakat.com/page-11646-4-2-2/" target="_blank">別ページで表示</a></span></p>



<img decoding="async" src="https://docs.google.com/drawings/d/e/2PACX-1vTTOSyFp0XDoz9QBQBS44O-VEXF_XlteV-PbnRZfwkVEKQh46dMZSSaKU0WBkYrOta-yO6kKzUVhhGG/pub?w=1440&amp;h=1080">



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>iPhoneのLINE公式アカウントアプリには、「メッセージを配信する」機能があり、扱い易いです。しかしその扱いやすさの程度ですが、アプリを開く-&gt;「メッセージ配信する」をクリック-&gt;追加をクリック-&gt;テキストを選ぶ-&gt;テキストをコピペする-&gt;次へ-&gt;「すべての友だち」を選択して配信。という手順。</p>



<p>確かにほとんど悩むことなく進めますが、やはり、余分なことを神経を使いながら覚える、そんな印象。</p>



<p>このSTEP3における配信作業の流れでは、LINEのアプリは何も触りません。通知文がSTEP1で作成済みならば、STEP2とやることはほぼ同じです。ChromeからGoogleSSを立ち上げる-&gt;PC版サイトを選ぶ-&gt;iphoneを横向きにする-&gt;閉じるをクリック-&gt;内容を一応点検したら「LINE投稿」ボタンをクリック。という手順。</p>



<p>LINEのいい点は、管理する側では、友だちの登録や削除などの作業は、何もないです。</p>



<p>実に簡単です。</p>



<h3 class="wp-block-heading">ポイント解説</h3>



<h4 class="wp-block-heading">＜1＞ GoogleSSへの取り込み</h4>



<p>送信する内容はコンパクトに、LINEの吹き出し１個だけです。</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=Bi9yU0XL.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=Bi9yU0XL.png" alt=""/></a></figure>



<p>この画面には、Googleフォームへ入力した通知文が取り込まれるため、内容を確認するだけです。問題がなければ、「LINE投稿」ボタンを押します。</p>



<p><strong>通知文の読み込み：</strong></p>



<p>IMPORTRANGE関数を使います。<br>読み込みたいGoogleSSのURLが、下記のようになっていたとして、</p>



<pre class="wp-block-code"><code>https:&#47;&#47;docs.google.com/spreadsheets/d/【この部分】/edit#gid=0</code></pre>



<p>【この部分】を以下の場所に当てはめてください。sheet1は実際のシート名、A20のところも実際のセル位置を当てはめてください。</p>



<p>LINEでは、吹き出し枠一つの中に、タイトル〜本文〜関係リンクを一まとめにして入れています。</p>



<pre class="wp-block-code"><code>=IMPORTRANGE("【この部分】","sheet1!A20")</code></pre>



<h4 class="wp-block-heading">＜2＞APIの取得とGAS記述</h4>



<p><strong>APIの取得：</strong></p>



<p>LINE公式アカウントを取得すると、そのユーザーIDで、下記のLINE Developersにログインして、LINE Messaging APIのアクセストークンを取得します。</p>




<a rel="noopener" target="_blank" href="https://developers.line.biz/ja/services/messaging-api/" title="LINE Developers" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/imakat.com/wp-content/uploads/cocoon-resources/blog-card-cache/dc3da295cadbd7f1ebc1c79124500834.jpg?resize=160%2C90&#038;ssl=1" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">LINE Developers</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://developers.line.biz/ja/services/messaging-api/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">developers.line.biz</div></div></div></div></a>



<p></p>



<p><strong>GASの記述：</strong></p>



<p>このままコピペください。<span class="bold-red">赤字</span>は、例示です。</p>



<pre class="wp-block-code"><code>const notifyLine = () =&gt; {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
// LINE DevelopersのChannel Access Tokenを【アクセストークン】へ入れます。
const ACCESS_TOKEN = "【アクセストークン】"
// LINE Developersの自分のユーザーIDを【ユーザーID】へ入れます。
const USER_ID = '【ユーザーID】'
const url = 'https://api.line.me/v2/bot/message/broadcast';
const headers = {
  'Content-Type' : 'application/json; charset=UTF-8',
  'Authorization': 'Bearer ' + ACCESS_TOKEN,
};

const message = sheet.getRange(<span class="bold-red">3,1</span>).getValue();
const data = {
  'messages' : &#91;
    {
      'type':'text',
      'text':message,
    }
  ]
};

const options = {
  'method':'post',
  'headers': headers,
  'payload':JSON.stringify(data)
};

UrlFetchApp.fetch(url,options);
}</code></pre>



<p>「みんな」に対してメッセージ配信する場合は、上記のように、APIの最後の部分にbroadcastを使います。</p>



<p>iPhoneで使う時は、STEP2と同様に、上記のGoogleSSのLINE投稿ファイルを、今度はiPhoneで呼び出してから「PC版サイトを見る」を選択-&gt;iPhoneを横向きにする-&gt;上段に出る警告を「閉じる」-&gt;「LINE投稿」のボタンを押す。と、同じ手順になります。</p>



<p>次のSTEP4では、Push7の新規プッシュ通知を、Push7のアプリを何も触らないで実行する方法を説明します。考え方はLINEと同じです。</p>



<p><a href="https://imakat.com/2021/10/15/14021/" target="_blank">STEP4</a></p>



<p>以上</p>


]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13982</post-id>	</item>
		<item>
		<title>【GAS】分散通知の仕組みを作る〜Googleアプリ、GAS及びAPIの活用　STEP2: 電子メール配信(2/5)</title>
		<link>https://imakat.com/2021/10/13/13906/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Wed, 13 Oct 2021 07:49:54 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[デジタル]]></category>
		<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[Googleグループメール]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=13906</guid>

					<description><![CDATA[＜分散通知の仕組みを作る　STEP2: 電子メール配信＞別ページで表示 STEP2として電子メール配信を説明します。実際の配信の手順は、STEP5のブログ配信を先に行い、そのリンクURLを、電子メール、LINE、Push [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>＜分散通知の仕組みを作る　STEP2: 電子メール配信＞<br><span class="fz-12px"><a href="https://imakat.com/page-11646-4-2/" target="_blank">別ページで表示</a></span></p>



<img decoding="async" src="https://docs.google.com/drawings/d/e/2PACX-1vSFTkb6ovfeLBKdqvcsUNGg0oMLPHiIhJV04pZDhRwO-VnEsOt33oSDcoBl4UrHbkhGqm0ySJnbX6B-/pub?w=1440&amp;h=1080">



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>STEP2として電子メール配信を説明します。実際の配信の手順は、STEP5のブログ配信を先に行い、そのリンクURLを、電子メール、LINE、Push7の関係リンクにします。</p>



<p>ここでは、昔からある、電子メールによる配信、グループメール配信を基本形として先に扱うことにします。</p>



<p>なおGoogleグループメールの配信先ですが、Googleメールでよく使うGoogle連絡先を使います。Google連絡先にまず登録（※1)→GoogleグループアプリへGoogle連絡先に登録されているメールアドレスを呼び込んで登録、という手順を行なっています。原本の共有化です。</p>



<p>ビジネス用途であるGoogle workspaceというサービスがあり、これの方が本格的ですが、あくまで無料の小規模な利用から始めますので、普通のGoogle個人アカウントを使います。これであっても、配信件数限度は少なくなりますが、Googleグループメール は使うことができます。 </p>



<p>Google個人アカウント@gmail.comを持っていれば、<br>Google個人アカウント@googlegroups.com というグループメールアドレスが取得出来ます。</p>



<p>例えば、適当ですが、<span class="bold-red">nihonnofujisan001</span>@gmail.com、を持っていれば<br><span class="bold-red">nihonnofujisan001</span>@googlegroups.com というグループメールアドレスが取得出来ます。</p>



<p>使い方は簡単、メールをたった1個、以下のように打てば、グループ全員に届くことです。</p>



<p>TO:<span class="bold-red">nihonnofujisan001</span>@googlegroups.com<br>FROM:<span class="bold-red">nihonnofujisan001</span>@gmail.com<br>ーーーーーーーーーーーーーーーーーーーーー<br>＊＊＊の件<br>＊＊＊＊<br>＊＊＊＊＊＊＊＊<br></p>



<p>※1: 当面、手作業で配信依頼先のメールアドレスを登録します。別のWebサイトで配信の申し込みができるようにしておりGoogleフォームを通じてGoogleSSへ記録しています。従って同じGoogleアカウントのGoogleアプリ同士なので、APIか関数で割と簡単にGoogle連絡先へ自動登録が可能でしょう。しかしメールアドレスについては、一応、イタズラの有無など人間がチェックした方がいいと捉えています。</p>



<p>別の方法として、姓名、メールアドレスをGoogleSSに登録しておいて、for文でループしながら送信するやり方もあります。もし、送信手段がメールだけなら気長に待てるかも知れませんが、今回、私は、複数のSNSから次々と送ろうとしていますので、手離れよくするために、グループメールアドレスを使うようにしました。</p>



<h3 class="wp-block-heading">ポイント解説</h3>



<h4 class="wp-block-heading">＜１＞Googleグループアプリの設定〜オーナーの配信のみに制限。</h4>



<p>このグループメールは、グループメンバー間での議論に利用することが多いと思われますが、今回、私がこれを使う目的は、緊急通知の配信、です。一方通行です。従って、投稿者は私のみ、メンバーからは投稿不可、の制約を加えています。</p>



<p>グループ設定の中の「投稿ポリシー」の設定：</p>



<figure class="wp-block-table"><table><tbody><tr><td>メールでの投稿を許可</td><td>許可する</td></tr><tr><td>ウエブからの投稿を許可</td><td>許可する</td></tr><tr><td>会話の履歴</td><td>オフ</td></tr><tr><td>投稿者に非公開で返信できるユーザー</td><td>グループのオーナー</td></tr><tr><td>ファイルを添付できるユーザー</td><td>グループのオーナー</td></tr><tr><td>コンテンツを管理できるユーザー</td><td>グループのオーナー</td></tr><tr><td>メタデータを管理できるユーザー</td><td>グループのオーナー</td></tr><tr><td>グループとして投稿できるユーザー</td><td>グループのオーナー</td></tr><tr><td>デフォルトの差出人</td><td>投稿者のアドレス</td></tr><tr><td>メッセージの管理</td><td>管理しない</td></tr><tr><td>新しいメンバーの制限</td><td>新しいメンバーに投稿を許可しない</td></tr><tr><td>スパムメッセージの処理</td><td>スパムに分類されたすべてのメッセージを拒否</td></tr><tr><td>拒否されたメッセージに関する通知</td><td>オフ</td></tr></tbody></table></figure>



<p>以上のように、グループのオーナーからの一方的な通知に限定しています。</p>



<p>送信テストをするために、少なくとも２個、自分で確認できるメールアドレスを連絡先→グループメール連絡先選択、を済ませておきます。</p>



<p>どのメーラーでもいいですので、例えば私は、Macの純正アプリである「メール」アプリを使って以下のように送ってみます。Gmailの送信を使う必要はありません。</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=pQ5pcK2o.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=pQ5pcK2o.png" alt=""/></a></figure>



<p>その結果、以下のようなメールが<strong>複数箇所へ</strong>届けばOKです（赤塗りが多くてすみません。）ーー以下の部分は、グループ設定の中で、規定できます。但しーーー以下の内容は、無料のアカウントでは変更できません。やむを得ず、「下の段落は無視してください。」と注釈しました。</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=xRe6nIoY.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=xRe6nIoY.png" alt=""/></a></figure>



<p>以上でGoogleグループメール側の準備が出来ました。</p>



<p></p>



<h4 class="wp-block-heading">&lt;２&gt;  GoogleSSへの取り込み、及び GAS記述</h4>



<p>緊急通知なので、送信する内容はコンパクトに、subject とbodyだけです。</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=0OT7taEA.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=0OT7taEA.png" alt=""/></a><figcaption class="wp-element-caption">グループメール投稿のGoogleSS</figcaption></figure>



<p>この画面には、Googleフォームへ入力した通知文が取り込まれるため、内容を確認するだけです。問題がなければ、「グループメール 投稿」ボタンを押します。</p>



<p><strong>通知文の読み込み：</strong></p>



<p>IMPORTRANGE関数を使います。<br>読み込みたいGoogleSSのURLが、</p>



<pre class="wp-block-code"><code>https:&#47;&#47;docs.google.com/spreadsheets/d/【この部分】/edit#gid=0</code></pre>



<p>【この部分】を以下の部分に当てはめてください。sheet1は実際のシート名、A20のところも実際のセル位置を当てはめてください。</p>



<p>タイトル、本文、関係リンクそれぞれ、当てはめてください。</p>



<pre class="wp-block-code"><code>=IMPORTRANGE("【この部分】","sheet1!A20")
=IMPORTRANGE("【この部分】","sheet1!A22")
=IMPORTRANGE("【この部分】","sheet1!A24")</code></pre>



<p><strong>GASの記述：</strong></p>



<p><span class="bold-red">赤字</span>は、例示。</p>



<pre class="wp-block-code"><code>function sendMail(){
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  const from = '<span class="bold-red">nihonnofujisan001</span>@gmail.com';
  const to = '<span class="bold-red">nihonnofujisan001</span>@googlegroups.com';
  const subject = sheet.getRange(<span class="bold-red">3,1</span>).getValue();
  const body = sheet.getRange(<span class="bold-red">9,1</span>).getValue();
GmailApp.sendEmail(to, subject, body);
}</code></pre>



<p>わずか９行です。</p>



<h4 class="wp-block-heading">＜３＞GoogleSSのGASをiPhoneで使う裏技。PC版サイトで扱う。</h4>



<p>iPhoneでの操作方法は、以下の動画をご覧ください。</p>



<p>PC版にした後、iPhoneを横向きにするのがポイントです。</p>



<p></p>



<p class="has-text-align-center"><span class="fz-12px">　　字幕の翻訳はトップ左の言語をお選びください。</span></p>



<figure class="wp-block-video aligncenter"><video controls src="https://imakat.com/rd.php?id=ZRKVRwmK.mov" playsinline><track src="https://imakat.com/wp-content/uploads/2021/10/211013_緊急通知をiPhoneから_日本語.vtt" kind="captions" srclang="ja" label="緊急通知をiPhone送信"/></video><figcaption class="wp-element-caption"><span class="fz-12px">＜字幕は、画面右下の字幕選択をON↑＞</span></figcaption></figure>



<div class="example">
[google-translator]
＜字幕＞<br>
〜緊急通知をiPhoneから投稿〜<br>
(1)Google Chromeを使います。<br>
(2)ブックマークから目的のGoogleSSを選びます。<br>
(3)モバイルサイトなので画面表示が一部分しか見えません。<br>
(4)「PC版サイトを見る」を選択します。<br>
(5)全体が見えると、今度は文字が小さ過ぎる。<br>
(6)iPhoneを横向きに変えます。<br>
(7)キーボードが邪魔。ここの「閉じる」を押します。<br>
(8)見やすい。<br>
(9)文章の最終チェックをします。<br>
(10)「グループメール投稿」のボタンを押します。<br>
(11)スクリプトが実行されています。<br>
(12)スクリプトが終了。<br>
E(13)このGoogleSSを閉じます。
</div>

<style>
div.example {
width: 100%; /*ブロックの幅*/
height: 200px; /*ブロックの高さ*/
background-color: #EDF7FF; /*背景色*/
overflow: scroll; /*スクロール*/
}
</style>



<p>STEP3以降、GoogleSSの操作は、これと同じやり方になります。<br>つまり、<strong><span class="marker">「作業の標準化」です。アプリは違っても操作方法は同じ。作業方法を一つを覚えれば、電子メールも、LINEも、Push7も、ブログ投稿も、それで済んでしまう。</span></strong></p>



<p>それでは次回STEP3は、LINEを使ったメッセージ配信をLINEアプリを触らずに外側から実行する方法を説明します。</p>



<p><a href="https://imakat.com/2021/10/14/13982/" target="_blank">STEP3</a></p>



<p>以上。</p>


]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13906</post-id>	</item>
		<item>
		<title>【GAS】分散通知の仕組みを作る〜Googleアプリ、GAS及びAPIの活用　STEP1:通知文作成(1/5)</title>
		<link>https://imakat.com/2021/10/13/13863/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Wed, 13 Oct 2021 05:24:05 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[デジタル]]></category>
		<category><![CDATA[Googleフォーム]]></category>
		<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[AppSheet]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=13863</guid>

					<description><![CDATA[＜通知の仕組みを作る　STEP1: 通知文作成＞別ページで表示 はじめに 緊急通知を、迅速に自治会会員、地元住民、住民へ送りたい。というニーズがあります。 通知手段は、何らかの障害により遮断されるリスクを分散させる意味か [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>＜通知の仕組みを作る　STEP1: 通知文作成＞<br><span class="fz-12px"><a href="https://imakat.com/page-11646-4/" target="_blank">別ページで表示</a></span></p>



<img decoding="async" src="https://docs.google.com/drawings/d/e/2PACX-1vSHm4vYtdmGDSwYX_aEu5ilkmWP_cv1Q-dR85stjTVAfVrGhQDBYzsXLWBMubmVM-9y-RX1b_aiWE6k/pub?w=1440&amp;h=1080">



<hr class="wp-block-separator has-text-color has-key-color-color has-css-opacity has-key-color-background-color has-background is-style-wide"/>



<p>はじめに</p>



<p>緊急通知を、迅速に自治会会員、地元住民、住民へ送りたい。というニーズがあります。</p>



<p>通知手段は、何らかの障害により遮断されるリスクを分散させる意味から、会員が選べるように、理想的には会員が望む方法に合わせて送れるように、複数のルートを確保しておくこと、すぐに新しいルートを設置できること、が望ましいです。</p>



<p>中小規模の自治会は、予算も小さく、役員も数年以内には交替します。滅多に使われない緊急通知、そう、滅多に使わないのは平和の証拠でとてもいいこと。そうしたことに、お金を掛けることは、なかなか承認してもらえないでしょう。</p>



<p>取り掛かりは、無料の形で始めることにします。あったほうがいい、あるべきだ、という声が高まったら、次は、予算を出してもらえるかも知れません。</p>



<p>それでは、STEP1は、通知文を作成するところから始めます。</p>



<h3 class="wp-block-heading" id="ポイント解説">ポイント解説</h3>



<h4 class="wp-block-heading" id="1-緊急通知を-スマホから送りたい">&lt;1&gt;  緊急通知を、スマホから送りたい。</h4>



<p>もし自分が家にいてパソコンに触れる環境なら、メール、LINE、Push7、ブログ投稿はすべて、それぞれのアプリを開いて、基本の文をどこかに書いて、それをコピペしながら、送信することは、それほど大変なことではないと私は感じます。しかし、ITに興味のないふつうの人でしたら、怒り出すかも知れません。もっと簡単にしてくれと。</p>



<p>しかも、突然来るのが、緊急通知たる所以。これを会員に通知してくれ、という指示がきた時、<strong>私は外出しているかも知れません。</strong></p>



<p>あるいは、<strong>停電するかも知れません</strong>。</p>



<p>だから基本的に、スマホで操作できる状態にしておきたいです。</p>



<p>しかしスマホから、この４つの通知手段の画面に打ち込む、それぞれバラバラの画面に、コピペしてあれこれ操作、これは、眼も疲れるし、指の動きも細かくて間違えるし、焦るし、曲芸といっていいです。私もお手上げです。</p>



<p>そこで選んだのがGoogleフォーム。これならなんとか、スマホから、文字入力が出来ます。（文字入力はiPhoneだと「メモ」アプリが一番書きやすい。ここからGoogleフォームへコピペするのが扱い易い。）</p>



<p>Googleフォームは、取得データをGoogleSSへ格納するという画期的な仕組みにより瞬時にグラフや分析が行われる優れものです。しかし、今回、最も単純な、通知文のタイトルと中身を記入する、それをそのまま発信に結びつける。ただそれだけ。なんでこんな簡単なことができないのか。と悩んでしまった。。</p>



<p>Googleフォームの作り方の紹介は省略します。</p>



<p>とにかくGoogleフォームで送信すると、最新データが次々と、下の行に転記されていくわけです。この一番下の行をどうやって引出したらいいのか。テーブルのA列から最新の日付時刻つまり最大値の行番号を見つけて、B、C、Dの列番2,3,4を与えて、表引きを行おう。</p>



<p>と最初考えたが実に面倒。</p>



<p>そのうち閃いた！</p>



<h4 class="wp-block-heading" id="2-欲しい行を取り出すのは-あまりにも簡単だった">&lt;2&gt;欲しい行を取り出すのは、あまりにも簡単だった！！</h4>



<p>「なんだ。すぐここに転がっているじゃないか。」という感じでした。</p>



<p>sheet1のこの表を、sheet2にコピーする。そのとき、A列の降順で全体を並び替えで、表を書き込む。そうすれば、一番上の行、つまりGoogleSSの関数に従うと、2行目。</p>



<p><strong>常に２行目に来る</strong>わけです。</p>



<p>やったことは、sheet2を作りそのA列１行目へ</p>



<pre class="wp-block-code"><code><strong><span class="fz-14px"><span class="fz-18px"><span class="fz-20px"><span class="marker">=query(sheet1!A:D,"select * where A is not null order by A desc")</span></span></span></span></strong></code></pre>



<p>を入れるだけです。</p>



<p>ちなみに、&lt;  where A is not null &gt;は、降順(desc)の時は不要ですが、昇順(asc)の時は、空白の行が最上行に来るために必要です。どちらでも問題ないように常に入れておけばいいです。* は、掛け算の意味ではなく、全ての列、の意味です。</p>



<p></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=IR3TXmNx.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=IR3TXmNx.png" alt=""/></a><figcaption class="wp-element-caption">Googleフォームから送信されたデータはsheet1の最下行へ追加される。</figcaption></figure>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=ffREsTOP.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=ffREsTOP.png" alt=""/></a><figcaption class="wp-element-caption">sheet2へ、query関数を一つ入れるだけで、常に2行目に最新データがくる。すみません。Where A is not null を入れた方が汎用です。</figcaption></figure>



<h4 class="wp-block-heading" id="3-入力フォームは-appsheetのアドオンを使った">&lt;3&gt; 入力フォームは、AppSheetのアドオンを使った</h4>



<p>実はGoogleフォームの入力は、GoogleSSのデータを、追加、修正、削除するのには向いていない、スマホの表示が不格好、といった問題点がありましたが、AppSheetをGoogleフォームにアドオンすることにより、非常に使いやすくなりました。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://imakat.com/rd.php?id=gt3qJyCZ.png" alt=""/><figcaption class="wp-element-caption">右のGoogleフォームは、余分な記述が多く、入力出来る項目が一画面に収まりきらない。左のAppSheetで作ったフォームは、すっきりと収まっている。</figcaption></figure>



<p>さて、STEP2以降では、ここで作られた通知文を、電子メール、LINE、Push7、ブログ投稿、といった４つの方法で配信する仕組みを作ります。<strong><span class="marker">ポイントは、これらの４つのアプリを直接に手を触れることなく、一つの標準化した方法で行います</span></strong>。それではSTEP2では、Googleグループメール配信する方法について説明します。</p>



<p><a href="https://imakat.com/2021/10/13/13906/" target="_blank">STEP2</a></p>



<p>以上。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13863</post-id>	</item>
	</channel>
</rss>
