2012年7月11日水曜日

アクティブシートを削除する

Google Apps Script では、エクセルの場合のように指定したシートを削除することはできなさそう
だが、アクティブになっているシートを削除することはできる。アクティブシートを削除する場合は、Spreadsheet オブジェクトの deleteActiveSheet メソッドを使用する。
  
  
【構文】
SpreadsheetObject.deleteActiveSheet()
  
戻り値 : Sheet 型。削除した後にアクティブになる Sheet オブジェクトを返すようである。
  
  
「シートを追加する」の項と同様に、4つのシートをもつスプレッドシートから、アクティブになって
いる「シート1」を削除するサンプルコードを以下に記す。
  
  
【例】
function DeleteActiveSheet() {
  var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var objSheet = objSpreadsheet.deleteActiveSheet();
  Browser.msgBox(objSheet.getName());
}
  
コードの最終行では、deleteActiveSheet メソッドを実行した結果返される Sheet オブジェクト
のシート名をメッセージボックスに表示するようにしている。実行後のサンプルシートは下記
の通り :
  
  
また、表示されるメッセージは下記の通り :
  
  
この二つの事象から、アクティブシートを削除した場合は、削除したシートの右隣にあるシート
がアクティブとなり、その(新たにアクティブになった)シートが deleteActiveSheet メソッドの戻り
値としてかえされるようである。但し、関連するサイトには、そのような記述がないので、あくまで
も推測の域をでない。deleteActiveSheet メソッドの戻り値は使用しない方が良いような気がする。

0 件のコメント:

コメントを投稿