スプレッドシート利用の基本 (1/5)
作成:2011-06-17 07:58
更新:2011-11-04 15:28
更新:2011-11-04 15:28
■スプレッドシート、シート、レンジ、セル
Googleドキュメントのスプレッドシートは、いわゆる表計算を行うためのものです。多数のセルが縦横にずらりと並び、それぞれに値を記入していきます。これをスクリプトで自動化出来れば、ずいぶんと役に立つものが作れそうですね。
スプレッドシートを利用するには、まずこのドキュメントがどういう構造になっているか、から理解しなければいけません。また、それぞれの要素をGoogle Apps Scriptから利用するのであれば、その要素を扱うためのオブジェクトも用意されているはずですね。では、これらの基本的な構成要素について整理しておきましょう。
スプレッドシートアプリケーション――Googleドキュメントのアプリケーション本体ですね。これは、Google Apps Scriptでは「SpreadsheetApp」というオブジェクトとして用意されています。
スプレッドシート――スプレッドシートのドキュメント本体です。これは「Spreadsheet」というオブジェクトとして用意されています。
シート――スプレッドシートには、何枚ものシートがあります。それぞれのシートは「Sheet」というオブジェクトとして扱うことができます。
レンジ――これは「セルの範囲」を示すものです。これは「Range」というオブジェクトとして用意されます。
――以上です。「あれ? 肝心の『セル』がないぞ?」と思ったかも知れません。確かに、私たちがスプレッドシートを利用する際には、1つ1つのセルを意識して操作をします。が、Google Apps Scriptの世界では「セル」を示すオブジェクトはありません。すべては「セルの範囲」を示すRangeによって管理されます。個々のセルは、「1つだけが選択されたRange」というわけです。
では、これらのオブジェクトを取得する方法を考えましょう。操作の基本は、「SpreadsheetApp」から始まります。これは、スプレッドシートアプリケーションのオブジェクトでしたね。この中に用意されているメソッドを呼び出すことで、その他の要素を得ることができます。まずは、「選択された要素」を得る、以下のメソッドから覚えていきましょう。
・選択されたスプレッドシートを得る
・選択されたシートを得る
多くのマクロは、「現在、開いているシートのセルを操作する」というようなものになるでしょう。従って、スクリプトでまず行うのは「現在選択されているシートのオブジェクトを得る」ということです。上記のメソッドで、まずは「今、開いているシートのSheetオブジェクト」を取得します。
次に行うべきは、「レンジ」の取得です。これにはさまざまなやり方があるのですが、まずは「指定したセルのRangeを得る」ということを考えましょう。
この他、Googleドキュメントの関数などで用いられる「A1」といったやり方で指定することもできます。例えば、「getRange("A1")」とすれば、シートの一番左上のセルを示すRangeが得られるわけです。――とりあえず、この2つのgetRangeを覚えておけばよいでしょう。
スプレッドシートを利用するには、まずこのドキュメントがどういう構造になっているか、から理解しなければいけません。また、それぞれの要素をGoogle Apps Scriptから利用するのであれば、その要素を扱うためのオブジェクトも用意されているはずですね。では、これらの基本的な構成要素について整理しておきましょう。
スプレッドシートアプリケーション――Googleドキュメントのアプリケーション本体ですね。これは、Google Apps Scriptでは「SpreadsheetApp」というオブジェクトとして用意されています。
スプレッドシート――スプレッドシートのドキュメント本体です。これは「Spreadsheet」というオブジェクトとして用意されています。
シート――スプレッドシートには、何枚ものシートがあります。それぞれのシートは「Sheet」というオブジェクトとして扱うことができます。
レンジ――これは「セルの範囲」を示すものです。これは「Range」というオブジェクトとして用意されます。
――以上です。「あれ? 肝心の『セル』がないぞ?」と思ったかも知れません。確かに、私たちがスプレッドシートを利用する際には、1つ1つのセルを意識して操作をします。が、Google Apps Scriptの世界では「セル」を示すオブジェクトはありません。すべては「セルの範囲」を示すRangeによって管理されます。個々のセルは、「1つだけが選択されたRange」というわけです。
では、これらのオブジェクトを取得する方法を考えましょう。操作の基本は、「SpreadsheetApp」から始まります。これは、スプレッドシートアプリケーションのオブジェクトでしたね。この中に用意されているメソッドを呼び出すことで、その他の要素を得ることができます。まずは、「選択された要素」を得る、以下のメソッドから覚えていきましょう。
・選択されたスプレッドシートを得る
変数 = SpreadsheetApp.getActiveSpreadsheet();
・選択されたシートを得る
変数 = SpreadsheetApp.getActiveSheet();
変数 = 《Spreadsheet》.getActiveSheet();
多くのマクロは、「現在、開いているシートのセルを操作する」というようなものになるでしょう。従って、スクリプトでまず行うのは「現在選択されているシートのオブジェクトを得る」ということです。上記のメソッドで、まずは「今、開いているシートのSheetオブジェクト」を取得します。
次に行うべきは、「レンジ」の取得です。これにはさまざまなやり方があるのですが、まずは「指定したセルのRangeを得る」ということを考えましょう。
変数 = 《Sheet》.getRange( 行番号 , 列番号 );getRangeには、2通りの指定の仕方があります。1つは、行と列を数字で指定するやりかた。例えば、「2行目の左から5列目のセル」なら、「getRange(2,5)」というように指定してやればいいのです。これは簡単ですね。
変数 = 《Sheet》.getRange( レンジの指定 );
この他、Googleドキュメントの関数などで用いられる「A1」といったやり方で指定することもできます。例えば、「getRange("A1")」とすれば、シートの一番左上のセルを示すRangeが得られるわけです。――とりあえず、この2つのgetRangeを覚えておけばよいでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る