日直地獄

小学校では事件が起きる

GoogleSpreadsheetの任意のシートに素早くデータを追加するChrome拡張

この記事は、 「Spreadsheets/Excel Advent Calendar 2018」の17日目の記事です。昨日はid:Sixeightさんのスプレッドシートを使った簡単な家計の管理でした。家計、管理したい!

Google Spreadsheetsへの不満

Google Spreadsheetsって良いですよね。大好きです。リアルタイムの共同編集も強力だし、関数も、GASでの拡張性も高く、なんでも出来てしまいそうな気がしてきます。
しかし、そんなGoogle Spreadsheets愛をもってしても不満があります。それは、データの追加が気軽に出来ないことです。

例えば、あるシートに、社内ドキュメントのURL等を記録していることにしましょう。良いドキュメントを見つけたときにこれを記録しておきたい!と思うと、まずそのスプレッドシートのURLを探し、開き、読み込みを待ち、カラムに応じたデータを入力する、という手順が必要になります。こんな手順いちいちやっていられないし、スプレッドシートを開きっぱにするのもメモリを食うので、イマイチです。社内ドキュメントなのではてなブックマークも使えません。ではどうするか?

Chrome拡張 + GAS + Google Spreadsheets という解

このように素早くデータを追加したい場合、最も素早く起動できるChrome拡張が最適です(Chromeユーザーに限る)。であれば、Chrome拡張とGASを書いてしまえばこの不満は解消されます。ということで作りました。

chrome.google.com

特徴

  • 記録対象のシートは複数追加可能なので、様々な用途に利用できます
  • 1行目にカラム名を入力しておくと、それに応じた入力フォームが表示されます
    • URL,created_at というカラム名は特殊なカラム名で、それぞれ、ポップアップウィンドウを開いたページのURL、ポップアップウィンドウを開いた日時が自動でフィルインされます。事例などを集める際に便利かと思います
  • 2行目にデータの入力規則(「リストを直接指定」のみ対応)を設定しておくと、ラジオボタンかドロップダウンメニューが表示されます
    • 6件以下がラジオボタン、6件より多い場合はドロップダウンメニューになります。これはできるだけクリック数が少ないほうが良いけど、ラジオボタンで対応できるのは6件までという個人的な志向によるおもてなしです

セットアップ

この拡張を利用するためにはGASのセットアップが必要です。というのも私のGASで実行するとQuotaの問題もありますし、なによりスプレッドシートに追加するデータは気密性がそれなりに高いはずで、そしてそのデータは個人が提供しているGASを通したくないはずだからです。
www.youtube.com

  1. このファイルをコピーする (ファイル > コピーを作成)
  2. 「公開 > ウェブアプリケーションとして導入」の「公開」ボタンをクリック
  3. いろいろ権限の承認が必要なので進める*1
  4. 「現在のウェブ アプリケーションの URL」をコピーし、Chrome拡張の「SETTING」タブの「Script Current web app URL」に貼り付け、SAVEボタンをクリック
  5. 連携したいスプレッドシートのURLをChrome拡張の「Spreadsheet URL」に貼り付け、「SYNC」ボタンをクリック、シートのリストが表示されるので、「ADD」ボタンをクリック
  6. Chrome拡張の「POST」タブからデータの投稿ができるようになります

終わりに

確実にChrome拡張の方に比重が置かれていて、かつ、スプレッドシート的な工夫もなく、GAS,chrome拡張開発的な工夫もまるでないので、ただツールの紹介という感じで場違いな気もしますが、まあ気にしないでおきましょう。ちょっとだけSpreadsheetsも使ってるし。便利にご利用いただけることを祈っております。

明日は、tobachiさんです。

*1:本来言われたとおりのコードで進めてしまうのは危ないコードが混入している可能性もあるので他で言われてもおすすめは出来ないが…