×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。


Googleを追いかけろ!

.

WWW を検索 Googleを追いかけろ! を検索
class SpreadsheetApp : Members
memberType説明
createSpreadSheet新規スプレッドシートの作成と名前を付ける
flush保留中のすべてのスプレッドシートを更新する
getActiveRangeRangeシート内のアクティブな範囲を取得する
getActiveSheetSheetスプレッドシート内のアクティブなシートを取得する
getActiveSpreadsheetSpreadSheetアクティブなスプレッドシートを取得する
openByIdSpreadSheet指定されたIDでスプレッドシートを開く
setActiveRangeRangeスプレッドシート内にアクティブな範囲を設定する
setActiveSheetSheetスプレッドシート内にアクティブなシートを設定する
setActiveSpreadsheetSpreadSheetアクティブなスプレッドシートを設定する



method create(name)

  • 新規スプレッドシートの作成と名前を付ける
Arguments :
nameType説明
nameString 新規スプレッドシートの名前
戻り値 :
Type説明
SpreadSheet 新規スプレッドシートの名前
Googleのサンプル :
// The code below creates a new spreadsheet "Finances" and gets the URL for it
var ssNew = SpreadsheetApp.create("Finances");
Browser.msgBox(ssNew.getUrl());
}
動作確認用サンプル :
// "新規" という名前のスプレッドシートを作成する
//シートのURLと名前を取得してメセージボックスに表示

function Newss(){

var ssNew = SpreadsheetApp.create("新規");
Browser.msgBox(ssNew.getUrl()+":シートの名前:"+ssNew.getName());
  
}

//ドキュメント内のすべてのアイテムを表示して更新後に作成したシートを確認

20101002


method flush()

  • 保留中のすべてのスプレッドシートを更新する
    スプレッドシート動作は時々パフォーマンスを改善するために(例えばRange.getValueに複数の呼び出しを行う)バンドルされる。ただし場合によっては、すべての保留中の更新が行われること(例えば、ユーザーに実行中のスクリプトとしてデータを表示する)ができる。
Googleのサンプル :
//スプレッドシートの更新の様子を実際に確かめられる

//A1セル(緑)とB1セル(赤)の背景色がそれぞれ20回変わる:A1セル(赤),B1セル(緑)へ
//短時間の変化なので注意が必要
//flush()が呼び出されずに変化のない場合:プログラムが終了して最後のステートメントを実行した結果が表示されている

function colors() {
  var sheet = SpreadsheetApp.getActiveSheet();
  for (var i = 0; i < 20; ++i) {
    if ((i % 2) == 0) {
      sheet.getRange("A1").setBackgroundColor('green');
      sheet.getRange("B1").setBackgroundColor('red');
    } else {
      sheet.getRange("A1").setBackgroundColor('red');
      sheet.getRange("B1").setBackgroundColor('green');
    }
    SpreadsheetApp.flush();
  }
}

20101002


method getActiveRange()

  • シート内のアクティブな範囲を取得する
    スプレッドシート内のアクティブな範囲とはユーザーがspreadsheet UIによって選択したセルの範囲
    ( 参考 :setActiveRange )
戻り値 :
Type説明
Range アクティブな範囲オブジェクト
Googleのサンプル :
// The code below will get the background color for the active range
var color = SpreadsheetApp.getActiveRange().getBackgroundColor();
Browser.msgBox(color);
動作確認用サンプル :
  // シート内の文字列のあるセルを選択すれば、メッセージボックスにその文字列を表示

function getActiveRange() {

var value = SpreadsheetApp.getActiveRange().getValue();
Browser.msgBox(value);

}

20101008


method getActiveSheeet()

  • スプレッドシート内のアクティブなシートを取得する
    スプレッドシート内のアクティブなシートとはユーザーがspreadsheet UIによって表示しているシート
    ( 参考 :setActiveSheeet)
戻り値 :
Type説明
Sheet アクティブなシートオブジェクト
Googleのサンプル :
// The code below will show the name of the active sheet.
Browser.msgBox(SpreadsheetApp.getActiveSheet().getName());
動作確認用サンプル :
//アクティブになっているシートを取得しシート名を得る
//シートを複数枚用意して確認(シート名は日本語可)

function getActiveSheeet() {
  
Browser.msgBox(SpreadsheetApp.getActiveSheet().getName());

}
動作確認用サンプル :
//アクティブになっているシートを取得して"アクティブシート!!"という名前を付ける

function setName(){

mySs=SpreadsheetApp.getActiveSheet();
mySs.setName("アクティブシート!!");

}

20101009


method getActiveSpreadsheet()

  • アクティブなスプレッドシートを取得する
    スプレッドシートのコンテキストで実行される関数は、この関数を呼び出すことによって、対応するスプレッドシートオブジェクトへの参照を取得することができる
    ( 参考 :setActiveSpreadsheet)
戻り値 :
Type説明
SpreadSheet アクティブなスプレッドシートオブジェクト
Googleのサンプル :
// The code below gets the URL for the active spreadsheet.
Browser.msgBox(SpreadsheetApp.getActiveSpreadsheet().getUrl());
動作確認用サンプル :
//アクティブシートのURL(ID)を表示する
function getActiveSpreadsheet(){
 
  ss=SpreadsheetApp.getActiveSpreadsheet();
  Browser.msgBox(ss.getUrl());
  
}

20101009


method openById(id)

  • 指定されたIDでスプレッドシートを開く
    スプレッドシートのIDは、スプレッドシートのURLから抽出することができる。
    たとえば、スプレッドシートURLがhttps://spreadsheets.google.com/a/yourdomain.com/ccc?key=abc1234567" の IDはabc1234567"。もしスプレッドシートが開くことができない場合(存在しないかユーザーにアクセス許可が無いなど)は例外をスローする。
Arguments :
nameType説明
idString 開かれたスプレッドシートの一意の識別子
戻り値 :
Type説明
SpreadSheet 指定されたIDのスプレッドシートオブジェクト
Googleのサンプル :
//IDを利用してスプレッドシートを開き、その名前を取得する
//スクリプトによる修正に対してシートは物理的にクライアントサイドではなく、サーバーサイドで開かれる

var ss = SpreadsheetApp.openById("abc1234567");
Browser.msgBox(ss.getName());
動作確認用サンプル :

// openByIdを利用してターゲットのスプレッドシートをアクティブにする
//ターゲットのスプレッドシートの一枚目のシートのコピーを(ターゲットのスプレッドシート内に)作成

function openById(){

var ss = SpreadsheetApp.openById("ターゲットのスプレッドシートのID")
ss.duplicateActiveSheet();

}

//ターゲットのスプレッドシート外からの実行が可能
//サーバーサイドでアクティブになるので実際の振る舞いは見えない
//該当のスプレッドシートを開いて確認する

動作確認用サンプル :

//指定IDのスプレッドシートの名前を取得
function openById(){

var ss = SpreadsheetApp.openById("ターゲットのスプレッドシートのID");

  Browser.msgBox(ss.getName());
}

20101119


method setActiveRange(range)

  • スプレッドシート内にアクティブな範囲を設定する
    スプレッドシートのUIは、選択された範囲を表示し、選択範囲として定義されたセルを選択する
    ( 参考 :activate(),getActiveRange )
Arguments :
nameType説明
rangeRange アクティブにする範囲
戻り値 :
Type説明
Range あらたなアクティブ範囲
Googleのサンプル :
// The code below will set range C1:D4 as the active range
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getSheets()[0].getRange("C1:D4");
SpreadsheetApp.setActiveRange(range);
動作確認用サンプル :
  // C1:D4範囲をアクティブにして文字列を入力

function setActiveRange() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getSheets()[0].getRange("C1:D4");
var active = SpreadsheetApp.setActiveRange(range);

active.setValue("active!!");

}

20101010


method setActiveSheet(sheet)

  • スプレッドシート内にアクティブなシートを設定する
    スプレッドシートのUIは、シートが他のスプレッドシートに所属しない限り選択されたシートを表示する
    ( 参考 :getActiveSheet )
Arguments :
nameType説明
sheetSheet アックティブにするシート
戻り値 :
Type説明
Sheet あらたにアクティブになったシート
Googleのサンプル :
The code below will make the 2nd sheet active in the active workbook
var ss = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(ss.getSheets()[2]);
動作確認用サンプル :
//アクティブなワークブックの3枚目のシートをアクティブにする
function setActiveSheet(){

var ss = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(ss.getSheets()[2]);
  
}
動作確認用サンプル :
//アクティブなワークブックの3枚目のシートをアクティブにする
//アクティブなシートの名前を取得する

function setActiveSheet2(){

var ss = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(ss.getSheets()[2]);
Browser.msgBox(ss.getSheets()[2].getName());
  
}

20101010


method setActiveSpreadsheet(spreadsheet)

Arguments :
nameType説明
spreadsheetSpreadSheet アックティブにするスプレッドシート
戻り値 :
Type説明
SpreadSheet あらたにアクティブになったスプレッドシート


Googleのサンプル :
// The code below will make the sheet with key "123456" the active spreadsheet
var ss = SpreadsheetApp.openById("123456");
SpreadsheetApp.setActiveSpreadsheet(ss);