最近、知り合いの要望に応え対応膨れあがっているGASですが、今頃?、改めてGAS(Google Apps Script)のイロハを備忘録していきたいと思います。笑
まずまずの今回は、GASで色々な操作をする際、避けては通れない、基本中の基本!
スプレッドシートを(プログラム上で)いかに掴むか?です。
ちなみに「スプレッドシート」とは、Excelで言うところの「ブック」に相当します。Excel(のVBA)でシートやセル、その他のクラスを操作する時は、まずブックを示すオブジェクトを取得してから操作していたと思います。
同様にGASでもまず最初はスプレッドシートを示すオブジェクトを取得していきましょう!
■ アクティブなスプレッドシートの参照:getActiveSpreadsheet()
早速、スクリプトです。
やってることは単純で「アクティブなスプレッドシートを参照するオブジェクトを変数ssへ代入」しています。
そもそも「アクティブな」なので、スプレッドシートと関連付いて動くスクリプトでないと意味を成しません💦
「SpreadsheetApp」は、Googleスプレッドシートのサービスその物を示すクラスです💦
決まり文句なので、細かいこと気にせずセットで覚える!
V8ランタイムのGASでは、変数を定義する際に使えるのが「const」もしくは「let」のみです💦
const:定義以降は値を変更しない「定数」を定義するもの!
let:定義以降も値を変更できる「変数」を定義するもの!
正しく取得できているか念のため確認してみましょう。
スクリプトは、次のとおりです。
実行した際のログを見てみると…
スプレッドシートの実際の名前を見てみると…
■ 任意のスプレッドシートの参照
指定方法は2種類あります。
やりやすい方法を使っていきましょう!
□ スプレッドシートのidを使ってオブジェクトを取得: openById()
<キー>とは、スプレッドシートのURLから取得できる特定値のことです。
スプレッドシートのURLの構成は、 「https://docs.google.com/spreadsheets/d/?????/edit」です。
このURLの「/d/」と「/edit」に囲まれた部分「?????」が<キー>となります。
□ スプレッドシートのURLを使ってオブジェクトを取得: openByUrl()
こちらはそのまんま、スプレッドシートのURLを使って、オブジェクトを取得します。
両者をこう見てみると、どっちにしろURLを意識しないといけないのだから、openByUrl()でいいのでは?と思えてきました💦
■ まとめ
いかがでしたか?
Excelのブックに相当するスプレッドシートのインスタンス作成、まずはスプレッドシートありきでGASを勉強するのであれば、getActiveSpreadsheet()を多用することになると思います。呪文のようにガリガリ書いて慣れちゃってください。
ではでは。
Kommentare