Google Apps Script 講座初級編「GASでスプレッドシートに書き込む」
はじめに
後藤銃士です。3回目ともなりますと、流石に1行コピペというわけにはいかなくなってきまして、今回は3行のコピペになります。あと、スプレッドシートの準備も必要となります。
ですが今回の講座では、なにかしら外部から情報を取得してきたものを一旦、スプレッドシートに保存できる、ということを理解できればOKです。今回は「書き込む」だけしか扱いませんが、「読み出し」までできると簡単なDB(データベース)としてのパワーを発揮することになります。イヤほんとよ?
この機能が役に立つのは
先程も書きましたが、取得情報を「保存できる」これです。といいますか GAS を使って期待されているのはおおよそ、取得してきたデータを、
ことになるんですが、その一翼を担うわけです、この講座は!
とはいえ、いうても3行コピペですからね、その辺りは流石 GAS といったところでしょうか。
今回は初級編「GASでスプレッドシートに書き込む」
対象
- せめてウルトラ初級編「GASの利用の仕方&プルグラムを動かしてみる」をクリアした人じゃないと
学べること
Google Apps Script を使った スプレッドシートへの書き込みの仕方
講座スタート
今回はまず、スプレッドシートを用意します。ブラウザ開き「drive.google.com」を入力してGoogle Drive 画面を開きます。
「新規」ボタンから「Google スプレッドシート」>「空白のスプレッドシート」を選びます。
すると、「無題のスプレッドシート」が表示されると思います。
そのときに、URLをコピペしておいて下さい。私の場合は「https://docs.google.com/spreadsheets/d/1Guk0FXiVGxVMXLZA83u3TNpdMVgSPikKvjC7Jkej-zg/edit#gid=0」がそれにあたります(長い)。
ではそれはおいといて、新しくタブを開き「script.google.com」を入力してコードを書ける状態にして下さい。
そして今回はでは1行目の3行目の間に
var spreadsheet = SpreadsheetApp.openByUrl('あなたのスプレッドシートのURL'); var sheet = spreadsheet.getSheetByName('シート1'); sheet.getRange("A1").setValue("え?!マジで?");
とコピペして下さい。
'あなたのスプレッドシートのURL'にはさっき保存していたスプレッドシートのURLを入れてくださいね。
で、例によって保存、後横向き三角ボタンを押してみて下さい。やっぱり承認関連のメッセージが出てきます。
こういうのって最初だけなんでまあ、気にせず、前回同様「許可を承認」とか「許可」とかしていきましょう。
すると、もとの画面に戻ります。なにもしていない顔してますよね…。
でもですよ?
さっきメモした URL を叩くかスプレッドシートを開いてみて下さい。
追加されてますね?
ほら。
できた。
3行でできちゃった。
解説
細けえことはあれなんですけど、わかってほしいことは、
var spreadsheet = SpreadsheetApp.openByUrl('あなたのスプレッドシートのURL');
まず、書き込む対象となるスプレッドシートの情報を取得するために URL を通してスプレッドシートの情報を取り込んでます。取り込んだ結果が spreadsheet ってところに保存されます。
var sheet = spreadsheet.getSheetByName('シート1');
で。取り込んだスプレッドシートの情報から今度は、対象となるシートを、シート名を指定することで絞りこみます。絞り込んだ結果、sheet ってところへ保存されます。
sheet.getRange("A1").setValue("え?!マジで?");
ここからなんですが、絞り込まれたシート「シート1」の、A1 へ「え?!マジで?」を設定しなさい、という記述がこれになります。 sheet から Range(範囲のこと)A1 に対して、Value(え?!マジで?)という内容を set (設定)しろ、ということなります。
スプレッドシート → シート → セル というように書き込む先を絞っているわけですね。 それがこの3行に込められている、というわけです。
読み出す場合は、getValue を使います。そのあたり知りたければリファレンスを眺めておくといいですよ。
しかし凄いなあ。もうスプレッドシートまで操作できるようになってしまっている…。
次回はトリガーという自動で処理をさせる記述を学ぶことしましょう。今まで見てきた、メール送信やスプレッドシートに書き込むことを組み合わせることが出来ます。いやーやっとプログラムの勉強っぽくなりますね!ご覧いただきありがとうございました。