GASの学習(GASの学習_1)

皆さんこんにちは。HiroCom777です。今までプログラムなどについていろいろ学習してきたのですが、所属しているノンプロ研で多くの人が学んでいるGAS(Google Apps Script)については着手していませんでした。

GASはJavaScriptベースの開発言語で、スプレッドシートなどのGoogleが提供しているアプリケーションを制御できます。

ノンプロ研で皆さんが学んでいるのを距離を置いてみていたのですが、とうとう初級講座を受講しました。この連載では、僕の目線で受講した内容を記録していこうと思います。

どうして受講を決意したのか

さて、今までGASを学んでこなかった理由は簡単で、自身の実務で使う機会がほとんどなかったからです。そして受講を決意した理由ですが、僕がノンプロ研で主に活動している技術ライティング講座にあります。技術ライティング講座については以下を参照してください。

tonari-it.com

この講座は、受講したのちに企画書を提出。内容の審査が通ると技術書を書いて、技術書典にて販売ができるという、なんともユニークな講座です。僕はこの講座で本を書く方のお手伝い(編集のようなもの)をしているのですが、GASについて執筆する方が現れました。

techbookfest.org

コチラの書籍はGASとNotionの連携について書かれているのですが、当然本の内容はGAS(とNotion)中心に書かれています。内容を確認していく作業が大変でした(というか、行き届かなかった点が多々ありました)。

先にも話した通り、ノンプロ研ではGASを学んでいる方が大勢いらっしゃいます。今後もGASについて本の企画が提出されることが、予想される訳です。

このまま手をこまねいているわけにもいかないので、GAS初級講座を受講することにしたのです。

GAS初級講座

今回受講する講座は、GASの基本を学ぶ初級講座。カリキュラムは全部で7つ(+卒業ライトニングトーク大会)

  1. はじめてのGAS、変数、演算、データ型
  2. 制御構文
  3. 関数、配列
  4. オブジェクト
  5. スプレッドシート・シート・セルの操作
  6. スプレッドシートの操作(実践編)
  7. HTTP通信・API

週に1つずつ学んでいきます。

はじめてのGAS、変数、演算、データ型

今回は1回目で学んだ内容のうち、気になった所をピックアップしてみようと思います。

  • 基本操作
    ここでは、GASにスクリプトを記述して実行する方法を学びます。基本的な内容なのですが、やはりこのような一連の動作は本やWeb記事だけでは身につかないです。何度も繰り返すことによって身についた感触を得ました。

    GASの実行単位はfunctionで以下の書式になります。

  function ファンクション名() {
    //処理
  }
  • 値の確認
    記述した後は、ファンクション名を指定して実行します。 実行した結果の値を表示するにはconsole.logを使用します。
  console.log(値1, 値2, ...);

開発時には頻繁に使用しますね。

  • 変数、定数、リテラル
    GASでも変数、定数が使えます。 変数は以下のように宣言します。
  let 変数名(= 値)

以前は「var」を使用していたそうですが、現在は「let」に変わっているようです。 定数は以下のように宣言します。

  const 定数名 = 値

定数は、変数と違って一度設定したら値を変更できないのですが、チョット挙動が変わっている点があるようです。追って触れようと思います。

  • 文字列
    GASもいろいろなデータ型がありますが、文字列データの取り扱いが気になりました。 文字列は「'」(ダッシュ)「"」(ダブルクォーテーション)「`」(バッククォート/バックティック)のいずれかで囲みます。

    また、テンプレート文字列という記法があります。文字列の中に式(変数、定数)を埋め込むことができます。記述方法は以下の通りです。

  `文字列1 ${式} 文字列2`

気を付けなければならないのは、この機能を有効にするには「`」(バッククォート/バックティック)で囲まなければならないということです。「'」、「"」では機能しません。

  • データ型
    GASでは数値型、文字列型、真偽型、配列型、オブジェクト型のデータ型があります。 配列型、オブジェクト型は別途触れていきたいと思います。 データ型を確認するには「typeof」を使用します。
  typeof 値

で確認できます。

次回は制御構文

今まで、ExcelVBA、Python、C、C#などを学んできたのですが、似ているところ、違うところがあっておもしろいですね。次回は第2回の制御構文についてまとめてみようと思います。お楽しみに!!

hirocom777.hatenadiary.org

GAS関連記事まとめ - HiroCom777の学習記録