libro
www.tuyano.com
初心者のためのGoogle Apps Scriptプログラミング入門

Googleドキュメントにアクセスする (6/6)

作成:2011-08-08 09:18
更新:2011-11-04 17:05

■テーブルとTableオブジェクト

Googleドキュメントの文書には、テキスト以外の要素も追加することができます。その中でもっとも重要な要素が「テーブル」でしょう。このテーブルは、Google Apps Scriptでは「Table」というオブジェクトとして用意されています。が、このTableオブジェクトだけでテーブルが構成されているわけではないので注意が必要です。テーブルを構成するオブジェクトとしては、以下のようなものが用意されているのです。

Table――テーブルのオブジェクト。ここに「行」オブジェクトを追加していく。
TableRow――テーブルの「行」データのオブジェクト。ここに「セル」を追加していく。
TableCell――テーブルの「セル」のオブジェクト。この中に、表示するテキストなどを追加する。

テーブルは、「」と「」という概念によって構成されます。「行」は、テーブルの横1列をまとめて扱うためのもの、「列」は、テーブルの縦1列をまとめて扱うためのものです。テーブルを作成していく場合、この「行」を順番に作っていくのが基本です。では、そのためのメソッドを整理しましょう。

・DocumentにTableを追加する
変数 =《Document》.appendTable();
変数 =《Document》.appendTable(《Table》);

・DocumentにTableを挿入する
変数 =《Document》.insertTable( 整数 );
変数 =《Document》.insertTable( 整数,《Table》);

・TableにTableRowを追加する
変数 =《Table》.appendTableRow();
変数 =《Table》.appendTableRow(《Table》);

・TableにTableRowを挿入する
変数 =《Table》.insertTableRow( 整数 );
変数 =《Table》.insertTableRow( 整数,《Table》);

・TableRowにTablCellを追加する
変数 =《TableRow》.appendTableCell();
変数 =《TableRow》.appendTableCell(《Table》);

・TableRowTablCellを挿入する
変数 =《TableRow》.insertTableCell( 整数 );
変数 =《TableRow》.insertTableCell( 整数,《Table》);

これで、テーブルができあがります。DocumentTableを作成し、TableTableRowを作成し、TableRowTableCellを作成する――これでテーブルの基本的な部品が組み上がることになります。

「でも、表示するテキストなどが引数にないぞ。どうやってテキストを設定するんだ?」と思った人。TableCellには、Documentと同様に、appendParagraphなどパラグラフを追加するためのメソッドが用意されています。これらを使い、TableCell内にパラグラフを追加し、テキストなどの表示内容を用意すればいいのです。

では、実際の利用例を挙げておきましょう。これはドキュメントを開き、簡単な表を作成するサンプルです。まずappendTableでテーブルを作成し、以後は、「appendTableRowTableRowを作り、それにappendTableCellでセルを追加し、更にそれにappendParagraphでテキストを組み込む」ということを行数分だけ行っています。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function makeTable(){
  var doc = DocumentApp.openById("……IDを指定……");
  // テーブル追加
  var t1 = doc.appendTable();
  t1.setFontSize(18);
  // 1行目作成
  var r1 = t1.appendTableRow();
  var c11 = r1.appendTableCell();
  c11.appendParagraph("");
  var c12 = r1.appendTableCell();
  c12.appendParagraph("東京本店");
  var c13 = r1.appendTableCell();
  c13.appendParagraph("大阪支店");
  // 2行目作成
  var r2 = t1.appendTableRow();
  var c21 = r2.appendTableCell();
  c21.appendParagraph("担当者");
  var c22 = r2.appendTableCell();
  c22.appendParagraph("東京太郎");
  var c23 = r2.appendTableCell();
  c23.appendParagraph("大阪次郎");
  // 3行目作成
  var r2 = t1.appendTableRow();
  var c21 = r2.appendTableCell();
  c21.appendParagraph("連絡先");
  var c22 = r2.appendTableCell();
  c22.appendParagraph("090-9999-9999");
  var c23 = r2.appendTableCell();
  c23.appendParagraph("060-6666-6666");
}

※関連コンテンツ

「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る