GAS

【GAS習得 vol.1】 Logger.log()でログを出力するプログラムを作成してみる

はじめに

初めまして。時短ワーママかのなです。

ワーママになってからというもの、保育園へのお迎えリミットがあるので
「この作業もっと効率化したい!」と思うことが恐ろしく増えました。

仕事柄スプレッドシートを使う機会も多く、コピペコピペコピペ…

どうにかならんかね!!!と思っていた時にGAS(Google Apps Script)の存在を知り、
あわよくば社内の業務効率化も推進できればと思いGASを勉強してみました。

ということで、本日より「GAS習得への道」と題して連載を始めます。
具体的には、私がGASを学び、それなりに使えるようになるまでの過程を発信していきます。

プログラミングはほぼ初心者です。
初心者がつまずくポイントは全てつまずいてきたと思います(笑)
それらも踏まえ、同じようにゼロからGASを学びたいと思った方のお役に立てますと幸いです。

時短ワーママ
かのな
この記事の著者
  • 時短ワーママ一般事務員🙋‍♀️
  • ゼロからGASを勉強した記録を投稿しています
  • 素人ならではのつまずきポイント満載🤣

【練習問題1】ログを出力するプログラムをGASで作成

この記事は演習問題→解説(私の学び)の流れで作成しておりますので、
一緒に手を動かしながら、学びを進めてみてください。

多々知らない単語が出てくると思いますが、いったん流して読み進めてください!そのうち分かります!

先生
先生

Googleスプレッドシートを開き、新しいスクリプトを作成してください。
そのスクリプトで「Hello, GAS!」という文字列をログに出力するプログラムを書いて実行してください。

ヒント:Logger.log();を使用するよ

かのな
かのな

参考記事

はじめてGASを触る場合は、こちらの記事を参考にしてスクリプトの作成方法を確認してください。

https://kanonavi.com/gas/script-editor-1

解答

プログラミングが初めての人は「???」だと思います。
まずは難しく考えず、下の解答をコピー&ペースト(以下コピペ)して挙動を確認することから始めてみてください😆

実行結果

function logMessage() {
  // ログにメッセージを出力する
  Logger.log("Hello, GAS!");
}

出力結果はこのようになりました。現時点でよく分からなくても動けばOKです!

抑えたいポイント

GASの開発環境: Googleの各種サービス(スプレッドシート、ドキュメントなど)から直接アクセスできるスクリプトエディタの場所と、基本的な操作方法を理解します。

Logger.log(): これはGASのデバッグで最も基本的な機能です。スクリプトの実行中に特定の変数の値などをログに出力し、動作確認に役立ちます。

解説

Loggerクラスの主な使い方

Loggerクラスのlogメソッドは主に2通りの使い方があります。

1. Logger.log(data): 引数に渡されたデータを文字列としてログに出力します。

function logMessage() {
  // ログにメッセージを出力する
  Logger.log("Hello, GAS!");
}

// 実行結果 --> Hello, GAS!

2. Logger.log(format, [args]): フォーマット文字列と可変長引数を使用して、より柔軟なログ出力を行います。

formatは最終的に表示したい文字列のテンプレートで、[args]はそのテンプレートに埋め込む値(引数)のことです。
%s%dのような特殊な記号をプレースホルダー(場所取り)として入れておき、どこに値を埋め込むかを指定します。

function main() {
// logMessage関数を呼び出す
logMessage('Jiro', 25);
}

function logMessage(Name, age) {
  // ログにメッセージを出力する
  Logger.log('Name: %s, Age: %d', Name, age);
}

// 実行結果 --> Name: Jiro, Age: 25

上記のプログラムが何をやっているのか説明します。

まずmain()関数がlogMessage()関数を呼び出します。その際にlogMessage()関数に引数として'Jiro'という文字列と25という数値を渡しています。

引数を受け取ったlogMessage()関数はLogger.log()メソッドを使用して、フォーマット'Name: %s, Age: %d'に従い引数として渡された名前と年齢をログに出力しています。

本日のつまずきポイント

クラス?メソッド?となりながらも、ひとまずログ出力ができました。
自分で関数を定義し、それを呼び出すことでプログラムが動くのですね。
本日わたしが「何それ?」と思ったことは以下にまとめました。
現時点で100点満点の理解ができなくても、そのうち分かってくるので大丈夫です!

用語

用語説明
可変長引数関数が事前に決められた引数の数に縛られず、任意の数の引数を受け取ることができる機能のこと
デバッグプログラムに内に存在するバグ(不具合)を見つけ出し、修正する作業のこと
プレースホルダー後で実際の値に置き換えられる、一時的な場所を確保するための記号
[args]角括弧[]は「この部分は省略可能で、複数指定できますよ」という説明書上の記号
クラス、メソッドまた次回

主なプレースホルダー

記号意味
%s文字列 (String)'Taro', 'りんご'
%d整数 (Decimal)30, 150
%f浮動小数点数 (Float)3.14, 120.5
%%%という文字そのもの'割引率: 10%%'

-GAS
-

PAGE TOP