Google Apps Script

Google Apps Scriptに関する過去ブログの人気記事トップ5

Google Apps Scriptに関する過去ブログの人気記事トップ5

当サイト開設以前に、noteでGoogle Apps Scriptに関する記事をまとめていました(記事一覧)。
本日はこの掲載記事の中で、人気のあった記事を紹介したいと思います。
各記事へは、それぞれの記事タイトルから飛べますので、ぜひご一読ください!

第1位: 【そのまま使える】Googleフォームで回答期限を設けるスクリプト

今後、当サイトのブログでGoogleフォームに関するまとめ記事を掲載予定です。
Googleフォームは簡単にアンケート作成ができるなど手軽でよいですね。一方で、このように回答期限を設けたり、少し突っ込んだことをやろうとすると色々と制約が多かったりします。

第2位:Googleフォームで初期値を設定する方法

続いて第2位も同じくGoogleフォーム関連です。以前に回答した結果を表示するには、回答直後の画面から遷移するなど、実は様々な方法があります。こちらの記事では裏技的にちょっと凝った方法で対応してみた内容です。

第3位:【そのまま使える】GAS/Googleフォーム/スプレッドシートによる顧客管理システム

GoogleフォームとGoogleスプレッドシートを使って、簡単な顧客管理システムを作成してみたものです。
顧客管理台帳を作るにはGoogle Workspace関連でも、もちろんこれ以外にも様々な方法が考えられますが、スプレッドシートを使うというのが一番簡単でとっつきやすい(一方で、限界もありますが)と思われます。

上位3つは何だかんだ、Googleフォーム絡めたものでした。Google Workspaceのアプリケーション群であれば、個人的にはGoogleスプレッドシートを軸に作業することが多いため、Googleフォームが人気というのはちょっと意外でした。単に関連する記事を書いてたりSEO的に引っかかりやすくなっていただけという可能性はありますが。

第4位:【そのまま使える】Googleスプレッドシートで請求書を自動生成するGAS開発プロジェクト Vol.3 〜プロトタイプ完成〜

実はこちらはプロトタイプなので、完成版の記事は「【そのまま使える】Googleスプレッドシートで請求書を自動生成するGAS開発プロジェクト Vol.5 〜Ver1.0リリース〜」として公開しています。
実際にこの請求書テンプレートですが、現在も個人的に活用しています。
正直なところ、請求書については、少額課金で十分恩恵を受けられるSasSが世の中には結構あります。なので、作っておいて何ですが、わざわざ発展させて作り込むというところまではいかないかと思います。
ただ、件数が膨大でなかったりちょっとしたきっかけで請求書を作ることになったといった場合は、(ちょっとした自動化を見据えて)GASでささっと作るというのはありかなというイメージです。

第5位:「SpreadsheetApp.openById を呼び出す権限がありません。」のエラーを解消する

こちらは躓きネタです。これだけに限らず、ちょいちょGASはつまづく部分があります。つまづき集でも作って置くと自分のためにもよさそうな気がしてきました。

以上、トップ5記事の紹介でした!

Google Apps Script システム開発上の制約 〜GASを使う上での注意点〜

Google Apps Script システム開発上の制約 〜GASを使う上での注意点〜

Google Apps Script システム開発上の制約

Google Apps Script(以下、GAS)は非常に優れた生産性向上のためのサービスですが、使用上の注意点もあります。
今回はその中でも「制限(実行の限界値)」と「割当(実行回数の制限)」に絞って説明をしたいと思います。

要するに、GASは無制限に使えるわけではなく、その実行回数や時間/データサイズに制限があるというお話です。アプリケーション開発や実行に際しては、この制約をきちんと考慮していく必要があります。

もちろん、ちょっとした個人用のアプリを作るくらいであれば、ほとんど意識しなくても問題はないです。ただ、複数人で使うような社内アプリケーションであったり、データ量が少し大きめのものを扱うような場合には、思わぬ部分でこうした制約が足枷になる場合があるので要注意です。例えば、個人のGmailアカウントでGoogleスプレッドシートやドキュメントを一括で複製するようなアプリを作った場合、1日の上限が新規250までとなっています。実際に生徒さんが100人以上いらっしゃるような学習塾のクライアント様のケースでこうしたGASの制約の懸念もあることから、Google Workspaceアカウントへ移行したという方もいらっしゃいました。

公式ドキュメント

こちらに現在の最新の制限と割当が掲載されています。

GASの制限と割当はこの数年で少しずつ変化しています。概ね半年-3年に一度くらいの間隔ですが、Google WorkspaceやGAS自体のアップデートに伴い更新されています。

例えばスクリプトの実行時間です。以前はG Suite Business(Google Workspaceの前進)以上のプランで、30分の実行時間が許容されていました。しかし、Google Workspaceへのリブランディングの前後でスクリプト実行時間は、個人アカウントであればGoogle Workspaceアカウントであれ、いずれも6分という条件になっています。

下記に2021年12月28日現在の内容を記載しておきます。
実はこちらのnoteで以前(2021年1月31日)に調査した内容をまとめたことがあるのですが、Google Apps Scriptのプロジェクト数の作成制限が設けられる(1日50個まで)など、やはりアップデートされてるものがありますね。

Google Apps Scriptの割当

割当のカウントは太平洋標準時(PST)の0時、つまり日本時間の16〜17時にリセットされます。

Current quotas

Google Apps Scriptの制限

下記は制限になります。

Current limitations

さきほどのGoogle公式ドキュメントを日本語訳しただけなのですが、こちらにスプレッドシート形式でまとめたものをおいてあります。コピーするなど、ご自由にご利用ください。

Google Apps Scriptとは何か? できることや使い方を解説します

Google Apps Scriptとは何か? できることや使い方を解説します

Google Apps Script(GAS)とは何か

Google Apps Script(グーグル アップス スクリプト。以下、GAS(ガス)) は、Google Workspace上のアプリケーション(GmailやGoogleスプレッドシート、Googleクラスルーム等)を素早く簡単に連携/拡張させることができるローコードプラットフォームです。Google Apps scriptを使うことで、Google Workspaceや他の外部サービス(SlackやChatwork、freee等)との連携が可能になり、ビジネスや教育現場での業務効率を最適化することができます。

Google Apps Scriptでできること

GASでできることは、様々な課題やシーンに合わせて想像次第で広げることができます。以下の内容は実現できることの一部です。(内容的に、多少重なっている部分もあります。)

①Google Apps Scriptで自動化アプリケーションを開発する

日常的なルーチンワークや時間のかかる単純作業の効率化をしたいのであれば、GASは強力なソリューションの一つになります。例えば、Gmailの一括送信であったり、Googleドライブのフォルダを一括でコピーしたり、Googleスプレッドシートで請求書を一括作成したりといったことができます。
一定の時間や条件でトリガーを発生させることもできます。ですので、毎日定期的にGoogle Analyticsからデータをとってきたり、自社サイトを横断的にクロールしてKPIをまとめるといったことも行うことができます。
これらは、カスタムメニューなどで提供される簡易的なUIを用いて、手軽に開発/利用することができます。

②Google Apps ScriptでWebアプリケーション(Web UI)を開発する

GASでは一般的なウェブ言語(HTML、CSS、JavaScript) を使って開発を行えます。必要に応じて、BootstrapやVueといったフレームワークを活用することで、よりモダンなWebアプリを構築することもできます。実際に当オフィスではこれらのフレームワークを用いて、短納期・高品質なアプリのご提供を試みています。
実際のソリューション事例としては、①スプレッドシートを簡易的なデータベースとして利用しつつ操作部分はWebのUIで提供する、②Google Cloud SQLを用いて本格的なデータベース連携Webアプリを構築する、といったパターンが考えられます。

③Google Apps Scriptでアドオンを開発する

開発したスクリプトをアドオンとして提供することができます。例えば、GoogleスプレッドシートベースのUIでGASのアプリを開発し運用しているけれども、ある時何らかの集計機能を他のスプレッドシートでも利用したいといった場合があります。こうした場合に独立したアドオンとして提供を行えば、一括で同一機能を修正できるといった利点があります。
また、開発したアドオンはGoogle Workspace Marketplaceで全世界へ共有することもできます。
なお、Google Workspace Marketplaceでは多くのサードパーティーのアドオンが多く提供されており、既にご利用の外部サービスと連携する際にはアドオンを活用するといった手段も考えられます。

④Google Apps Scriptでカスタム関数を開発する

Googleスプレッドシートで独自に定義した関数を開発することができます。例えば、西暦を和暦に変換する関数であったり、経理処理で軽減税率を考慮した消費税を計算する関数、教育分野で複数の評価項目から成績結果を返す関数などが考えられるでしょうか。アイデア次第で様々な関数を作りだせるところが魅力といえます。

⑤Google Apps Scriptでチャットボット(Chatbot)を開発する

お問い合わせの一次対応等にチャットボットを導入したい、といった場合にもGASを利用することができます。Google Chatを利用したチャットボットはもちろん、LINEやSlack、ChatWorkなど外部APIと連携させて構築することもできます。チャットアプリ側で質問された内容を、Googleスプレッドシート側で用意した回答データベースを元に返答するといったイメージになります。

Google Apps Scriptを使うメリット

Google Apps Scriptなら、すばやく簡単に開発が可能

実際に提供できるソリューションのイメージを前述しましたが、GASではこれらのアプリケーションを素早く開発できる環境にあります。開発言語が一般的なウェブ言語であることもありますが、それに加えて開発環境がGoogleのクラウドサーバー上にあるため、開発の敷居が非常に低くなっています。具体的にはプログラムを編集・実行・管理するスクリプトエディタや、操作対処となるGoogleスプレッドシートなどのドキュメント群、また事前統合されたGoogle アナリティクス、BigQuery などのAPI群の利用も可能です。利用可能なGoogleのAPIは100 以上にものぼります。
スクリプトもGoogleスプレッドシートなどと同様に他ユーザーと共有できますので、共同編集が可能です。

Google Apps Scriptで様々なシーンにおける生産性の向上を行う

「Google Apps Scriptでできること」で具体例を挙げましたが、ルーチンワークや単純作業の自動化が一番わかりやすい生産性の向上事例かと思います。個人的には、毎日行う事はもちろんですが、週1や月1回定期的にある業務で前回と同じ作業内容を(手順書などを確認しながら)繰り返すといったような内容に非常に効果を発揮すると感じています。トリガー設定で明け方にタスク実行するなどののオートメーション化もよいですね。
Webアプリ化やSlack等サードパーティーアプリとの連携・統合を行うことでも、日々のワークフローの効率化が可能です。

Google Apps Scriptはクラウドが前提のサービス

GASはGoogle Workspace / Google Cloud Platform上で動作するサービスであり必然的にクラウドでの実行が前提となっています。そのため、ローカルPC上で特別な環境設定をしなくても、開発や実行が可能となっています。
また、同時に共同での開発やサービス利用が可能となっている点も、開発者・利用者双方にメリットのある状況となっています。

Google Apps Scriptの制約 

上述しましたようにGASは手軽に開発ができますが、制約もあります。

Google Apps Scriptの制限(実行の限界値)

GASの関数の実行時間やメール添付のファイルサイズなどには上限があります。例えば、GASの関数の実行時間は現在は、無料アカウントもGoogle Workspaceのどの契約プランでも6分となっています。
最新の限界値はこちらをご確認ください。

Google Apps Scriptの割当(実行回数の制限)

GASによるメール一括送信やスプレッドシート等のドキュメント作成は非常に便利ですが、1日の回数制限があります。回数制限はGmailアカウントおよびGoogle

GoogleAppsScriptで自動化アプリケーションを開発しよう

Google Apps Scriptで自動化アプリケーションをシステム開発しよう

Google Apps Scriptでシステム開発することになったきっかけ

私は元々、Web/ネイティブアプリ開発を行う会社に勤めていました。ひょんなところから、その会社の経営にも携わることになり、いわゆるバックオフィス業務についても担当することに。最近はSasSとして様々なサービスがでていますが、予算や人手の問題で、全てが解決するわけではありませんでした。小さな会社ですから、バックオフィスだけでなく当然に製品開発も行っていかねばなりません。ですので、人手を増やすわけにもいかないので、ともかく作業効率を高めたり業務の自動化をしていかねばと考えていました。

日常的にGoogleスプレッドシートを扱うことが多く、色々調べているうちに、マクロよりも便利なGoogle Apps Scriptというものがあるということを知りました。Javascriptを使って自分で様々なアプリケーションを動かせるらしい……プログラミングはそれまで触れてきませんでしたが、オンライン講座や書籍を購入したり社内のエンジニアに教わったりして、最低限のコードが書けるようになりました。

サンプルアプリを動かしたあとは、日常業務で効率が悪いものや困っている事、社内で自動化できそうなものを洗い出し、解決できるアプリケーションをブレストしては作るといったことを繰り返していきました。Google Apps Scriptは総じて小さなアプリケーションですが、目に見えて業務効率がアップし成果が見えて楽しい!というのが率直な感想です。

周囲の方にお話すると、似たようなことで困っている方が多く、解決のためのお手伝いをさせて頂くようになったのが当オフィスを始めるきっかです。Google Apps Scriptは小さいながらも考え方次第では様々な可能性を持っていると思います。一方で、Google WorkspaceやGoogle Apps Scriptの制約により、気をつけなければいけない点や限界点もあります。

Google Apps Script自体もバージョンアップをし進化していますので、より良いアプリケーション開発のために、日々研鑽を重ねてお客様の課題解決に応えられるよう精進して参ります。