みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
GASの新IDEで「詳解! Google Apps Script完全入門 [第2版]」を読み進める際のいくつかの変更点が出てきましたので連載形式でまとめています。
前回の記事はこちら。
「7章 JavaScriptの組み込みオブジェクト」についてお伝えしました。
今回は、そのつづきで「8章 スプレッドシート」についてお伝えしていきます。
では、行ってみましょう!
新IDEによるGoogle Workspace Servicesへの影響
新IDEへの変更が、Google Workspace Servicesで提供される内容に直接的に影響のあるものではありません。
したがって、本書の「8章 スプレッドシート」から「15章 翻訳」までで、特に注意しなくてはならない点はありませんので、そのまま読み進めていただけると思います。
ただ、スプレッドシートについては一部、気になる発見がありましたので、以下共有していきたいと思います。
8-2 SpreadsheetAppクラス
P251: アクティブなシートを取得する
さて、アクティブなシートの取得について、エディタからの実行で微妙に変更があるようです。
複数のシートを持つスプレッドシートについてのコンテナバインドスクリプトで、以下のようにアクティブなシート名をログ出力するコードを作成します。
function logActiveSheet() {
console.log(SpreadsheetApp.getActiveSheet().getName());
}
旧IDEでは、スクリプトエディタから Ctrl + R で実行をすると、スプレッドシート上のどのシートを選択していても「シート1」となりました。
一方で「▶」の実行ボタンであれば、現在選択中のシート名をログ出力することができました。
旧IDEではこのような仕様になっていて、本書のP252のMemoでその旨を補足していました。
しかし、新IDEではその挙動が変わったようです。
スクリプトエディタで Ctrl + R で実行したとしても、以下のようにきちんと選択中のシート名がログ出力されました。
もちろん、「▶実行」ボタンでも、選択中のシート名が出力されます。
大きな影響のある変更ではないと思われますが、実行方法の差異があってもアクティブシートの取得結果が同一になったので、わかりやすくなりました。
8-7 カスタム関数
P282: カスタム関数とは
以下記事でお伝えしているとおり、関数のドキュメンテーションコメントの@paramタグについては、より厳密に記述する必要がありました。
スプレッドシートのカスタム関数でも同様な記述にするのが望ましいといえます。
P282のサンプル8-7-1については以下のように記述するようにしましょう。
/**
* 税込み価格を返すカスタム関数
*
* @param {Number} price - 価格
* @param {Number} taxRate - 税率(既定値は0.1)
* @return {Number} 税込価格
* @customfunction
*/
function ZEIKOMI(price, taxRate = 0.1) {
return price * (1 + taxRate);
}
これにより、スプレッドシート上のカスタム関数の表示についても改善されます。
以下のように、データ型が「Object」ではなく「Number」と表示されるようになり、引数の詳細も正しく表示されるようになります。
まとめ
以上、新IDEで「GoogleAppsScript完全入門第2版【8章 スプレッドシート】」を読むときの変更点についてお伝えしました。
ドキュメンテーションコメントの記述は、これまで以上に有益になりましたね。ぜひ活用したいところです。
さて、次回からはScript Servicesに入ります。
まずは「16章 Baseサービス」をお伝えしていきます。
どうぞお楽しみに!
連載目次:新IDEでGAS本第2版を読み進めるときの注意点
Google Apps Scriptの新しい開発環境(通称「新IDE」)が、2020/12/7から順次提供開始となりました。 本書は、アップデート前の通称「旧IDE」を前提として書いておりますので、新IDEを使っている場合は、いくつか変更された点があります。以下連載形式でまとめていきます。ぜひご確認くだいませ!- 新IDEで「GoogleAppsScript完全入門第2版【2-1 はじめてのGAS】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【2-2 プロジェクトとスクリプト】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【2-3 スクリプトエディタの編集機能(前半)】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【2-3 スクリプトエディタの編集機能(後半)】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【2-4 ログとデバッグ】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【2-5 権限と許可】【2-6 ヘルプの活用】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【3章 基本構文】【4章 制御構文】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【5章 関数】【6章 クラスとオブジェクト】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【7章 JavaScriptの組み込みオブジェクト】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【8章 スプレッドシート】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【16章 Baseサービス】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【20章 プロパティサービス】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【21章 イベントとトリガー】」を読むときの変更点
- 新IDEで「GoogleAppsScript完全入門第2版【23章 ライブラリ】」を読むときの変更点