2012年7月11日水曜日

新規シートを追加する

スプレッドシートにシートを追加する場合は、Spreadsheet クラスの insertSheet メソッドを用いる。
  
  
【構文】
SpreadsheetObject.insertSheet()
SpreadsheetObject.insertSheet(name)
SpreadsheetObject.insertSheet(nameindex)
SpreadsheetObject.insertSheet(name, index, advancedargs)
  
name : 省略可。string 型。 シート名を指定。省略した場合は、自動的に名前が付与される。
index : 省略可。integer 型。シートを挿入したいインデックス番号を指定。最初のシートは 0。
advancedargs 省略可。テンプレートを指定とあるが詳細は不明。
戻り値 : Sheet 型。追加したシートのオブジェクト値が返される。
  
  
下図の通り、4つのシートをもつアクティブスプレッドシートにシートを追加するサンプルコード
を以下に記す。コードを実行する前は、「シート1」がアクティブになっているものとする。
  
  
  
【例1】
function InsertSheet1() {
  var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  objSpreadsheet.insertSheet();
}
  
  
引数を何も指定しない場合は、シート名は自動的に付与され、且つ、実行前にアクティブに
なっていたシートの右隣に追加される(ようである)。
  
  
【例2】
function InsertSheet2() {
  var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet("SampleSheet1", 2);
  objSpreadsheet.insertSheet();
}
  
  
この例の場合は、第二引数で「2」を指定しているため、実行前にアクティブになっていたシート
が何れかにかかわらず、左から3番目の位置に新規シートが指定した名前で追加される。
  
  
【例3】
function InsertSheet3() {
  var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet("SampleSheet2");
  objSpreadsheet.insertSheet();
}
  
  
第二引数を指定しない場合は、第一引数で指定された名前のシートが、実行前にアクティブ
だったシートの右隣に追加される。

1 件のコメント:

  1. 例2,例3の引数を書く場所は、2段めではなく3段目では?

    返信削除