初心者でも簡単!GASのドット記法でスクリプトを効率化する方法

GASのスクリプトを書いてるんだけど、このドット記法って一体なんだろう?すごく混乱してしまって…
猫男
猫男
catman
catman
ふむ、GASのドット記法とはスクリプトを簡潔に記述するためのものだ。catmanがその謎を解いてみよう!

 

GAS のドット記法の基本

GASのドット記法は、オブジェクトからそのメソッドやプロパティにアクセスするために使われる。

基本的な形は次のようだ。

 const sheet = SpreadsheetApp.getActiveSpreadsheet();
 const range = sheet.getRange("A1");
 range.setValue("Hello World"); 

この例では、SpreadsheetAppというオブジェクトからgetActiveSpreadsheet()メソッドを使い、スプレッドシート内の情報にアクセスしている。

オブジェクトとメソッドの関係

ドット記法では、主にオブジェクト内のメソッドプロパティを使う。

メソッドにアクセスする

ドット記法を使えば、オブジェクトのメソッドを使えるぞ。

例えば、スプレッドシートからデータを取得するには以下のように書く。

 const sheet = SpreadsheetApp.getActiveSpreadsheet();
 const data = sheet.getDataRange().getValues(); 

このスクリプトでは、getDataRange()というメソッドを使ってシート全体のデータ範囲を取得している。

プロパティにアクセスする

メソッド以外にも、プロパティにアクセスすることもできる。

以下の例は、ドキュメントのタイトルを取得する方法だ。

 const doc = DocumentApp.getActiveDocument();
 const title = doc.getName(); 

ここでは、getName()メソッドを使い、ドキュメントの名前を取得している。

ドット記法を利用したスクリプト効率化

GASでのドット記法は、スクリプトを書くうえで非常に効率的だ。

例えば、複数のメソッドを一行でまとめて書くことも可能だ。

 const value = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1").getValue(); 

このようにすると、1つの行で情報の取得を完結でき、コードがすっきりする。

 

練習問題:GASドット記法を使ってみよう

次の練習問題に挑戦してみよう。ドット記法を用いて、以下を実現してみてほしい。

  1. アクティブスプレッドシートを取得し
  2. アクティブシートの特定の範囲に文字列「こんにちは」を設定する

 

解答・解説

練習問題の解答は次のようになる。

 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 sheet.getRange("B2").setValue("こんにちは"); 

まず、SpreadsheetApp.getActiveSpreadsheet()でアクティブなスプレッドシートを取得する。次に、getActiveSheet()でアクティブなシートを取得し、getRange(“B2”)で特定のセルを指定する。そして、setValue(“こんにちは”)でそのセルに文字列「こんにちは」を設定する。

わぁ!これならGASのコードも直感的に書けそうだね!さすがだぁ、catman!
猫男
猫男
catman
catman
ドット記法をマスターすれば、スクリプトの効率が上がるさ。引き続き頑張っていこう!