新IDEで「GoogleAppsScript完全入門第2版【8章 スプレッドシート】」を読むときの変更点


新IDE×GAS本[第2版] 8章 スプレッドシート

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GASの新IDEで「詳解! Google Apps Script完全入門 [第2版]」を読み進める際のいくつかの変更点が出てきましたので連載形式でまとめています。

前回の記事はこちら。

新IDEで「GoogleAppsScript完全入門第2版【7章 JavaScriptの組み込みオブジェクト】」を読むときの変更点
GASの新IDEが提供開始となりました。新IDEで「詳解! Google Apps Script完全入門 [第2版]」を読み進める際に注意すべき点が出てきます。今回は「7章 JavaScriptの組み込みオブジェクト」についての変更点をまとめています。

「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で取得したアクティブシート名

一方で「▶」の実行ボタンであれば、現在選択中のシート名をログ出力することができました。

旧IDEではこのような仕様になっていて、本書のP252のMemoでその旨を補足していました。

しかし、新IDEではその挙動が変わったようです。

スクリプトエディタで Ctrl + R で実行したとしても、以下のようにきちんと選択中のシート名がログ出力されました。

新IDEで取得したアクティブシート名

もちろん、「▶実行」ボタンでも、選択中のシート名が出力されます。

大きな影響のある変更ではないと思われますが、実行方法の差異があってもアクティブシートの取得結果が同一になったので、わかりやすくなりました。

8-7 カスタム関数

P282: カスタム関数とは

以下記事でお伝えしているとおり、関数のドキュメンテーションコメントの@paramタグについては、より厳密に記述する必要がありました。

新IDEで「GoogleAppsScript完全入門第2版【5章 関数】【6章 クラスとオブジェクト】」を読むときの変更点
GASの新IDEが提供開始となりました。新IDEで「詳解! Google Apps Script完全入門 [第2版]」を読み進める際に注意すべき点が出てきます。今回は「5章 関数」「6章 クラスとオブジェクト」についての変更点をまとめています。

スプレッドシートのカスタム関数でも同様な記述にするのが望ましいといえます。

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で「GoogleAppsScript完全入門第2版【16章 Baseサービス】」を読むときの変更点
GASの新IDEが提供開始となりました。新IDEで「詳解! Google Apps Script完全入門 [第2版]」を読み進める際に注意すべき点が出てきます。今回は「16章 Baseサービス」についての変更点をまとめています。

どうぞお楽しみに!

連載目次:新IDEでGAS本第2版を読み進めるときの注意点

Google Apps Scriptの新しい開発環境(通称「新IDE」)が、2020/12/7から順次提供開始となりました。 本書は、アップデート前の通称「旧IDE」を前提として書いておりますので、新IDEを使っている場合は、いくつか変更された点があります。以下連載形式でまとめていきます。ぜひご確認くだいませ!
  1. 新IDEで「GoogleAppsScript完全入門第2版【2-1 はじめてのGAS】」を読むときの変更点
  2. 新IDEで「GoogleAppsScript完全入門第2版【2-2 プロジェクトとスクリプト】」を読むときの変更点
  3. 新IDEで「GoogleAppsScript完全入門第2版【2-3 スクリプトエディタの編集機能(前半)】」を読むときの変更点
  4. 新IDEで「GoogleAppsScript完全入門第2版【2-3 スクリプトエディタの編集機能(後半)】」を読むときの変更点
  5. 新IDEで「GoogleAppsScript完全入門第2版【2-4 ログとデバッグ】」を読むときの変更点
  6. 新IDEで「GoogleAppsScript完全入門第2版【2-5 権限と許可】【2-6 ヘルプの活用】」を読むときの変更点
  7. 新IDEで「GoogleAppsScript完全入門第2版【3章 基本構文】【4章 制御構文】」を読むときの変更点
  8. 新IDEで「GoogleAppsScript完全入門第2版【5章 関数】【6章 クラスとオブジェクト】」を読むときの変更点
  9. 新IDEで「GoogleAppsScript完全入門第2版【7章 JavaScriptの組み込みオブジェクト】」を読むときの変更点
  10. 新IDEで「GoogleAppsScript完全入門第2版【8章 スプレッドシート】」を読むときの変更点
  11. 新IDEで「GoogleAppsScript完全入門第2版【16章 Baseサービス】」を読むときの変更点
  12. 新IDEで「GoogleAppsScript完全入門第2版【20章 プロパティサービス】」を読むときの変更点
  13. 新IDEで「GoogleAppsScript完全入門第2版【21章 イベントとトリガー】」を読むときの変更点
  14. 新IDEで「GoogleAppsScript完全入門第2版【23章 ライブラリ】」を読むときの変更点

タイトルとURLをコピーしました