GASでスプレッドシートを操作する
前回、前々回で、GASでスプレッドシートを操作するための一番元となるSpreadsheetAppクラスとその配下のSpreadsheetクラスについて紹介しました。
今回は、Spreadsheetクラスの更に一つ下の階層のSheetクラスについて紹介します!
Sheetクラス
階層で言うと3番目のところですね(^^)
Sheetクラスのメンバー
まずはSheetクラスの主なメンバーです。いっぱいあります(^^)
メンバー | 戻り値 | 説明 |
---|---|---|
activate() | Sheet | シートをアクティブにする |
appendRow(rowContents) | Sheet | シートの行として配列rowContentsを追加する |
autoResizeColumn(col) | Sheet | シートの列番号colの列幅を自動で調整する |
clear() | Sheet | シートをクリアする |
clearContents() | Sheet | シートのコンテンツをクリアする |
clearFormats() | Sheet | シートの書式設定をクリアする |
copyTo(spreadsheet) | Sheet | シートをスプレッドシートspreadsheetにコピーする |
deleteColimns(col[,n]) | void | 列番号colからn列を削除する |
deleteRows(row[,n]) | void | 行番号rowからn行を削除する |
getActiveCell() | Range | シートのアクティブなセルを取得する |
getActiveRange() | Range | シートのアクティブなセル範囲を取得する |
getColumnWidth(col) | Integer | シートのcolの列幅をピクセルで取得する |
getDataRange() | Range | シート内のデータが存在するセル範囲を取得する |
getFormUrl() | String | シートに関連するフォームのURLを取得する |
getIndex() | Integer | シートのインデックスを取得する |
getLastColumn() | Integer | シートのデータがある最終列番号を取得する |
getLastRow() | Integer | シートのデータがある最終行番号を取得する |
getName() | String | シート名を取得する |
getParent() | Spreadsheet | シートが含まれているスプレッドシートを取得する |
getRange(row,col[,m,n]) | Range | シートの行番号row、列番号col、rowからm行分、n列分のセル範囲を取得する |
getRange(a1Notation) | Range | シートのセル範囲をA1表記または、R1C1表記で取得する |
getRowHeight(row) | Integer | 行番号rowの行の高さをピクセルで取得する |
getSheetId() | Integer | シートのIDを取得する |
getTabColor() | String | シートのタブの色を取得する |
hideColumns(col[,n]) | void | 列番号colからn列を非表示にする |
hideRows(row[,n]) | void | 行番号rowからn行を非表示にする |
hideSheet() | Sheet | シートを非表示にする |
insertColumns(col[,n]) | void | 列番号colの位置にn列の空白列を挿入する |
insertImage(url, col, row[,x,y]) | void | 列番号col、行番号rowのセルから、横xピクセル、縦yピクセル離した位置に、urlで指定した画像を挿入する |
insertRows(row[,n]) | void | 行番号rowの位置にn行の空白行を挿入する |
isSheetHidden() | Boolean | シートが非表示になっているかを判定する |
setActiveRange(range) | Range | セル範囲rangeをアクティブにする |
setColumnWidth(col,width) | Sheet | 列番号colの列幅をwidthピクセルに設定する |
setName(name) | Sheet | シート名をnameにする |
setRowHeight(row,height) | Sheet | 行番号rowの行の高さをheightピクセルに設定する |
setTabColor(color) | Sheet | シートタブの色を設定する |
showColumns(col[,n]) | void | 列番号colからn列分の非表示を解除する |
showRows(row[,n]) | void | 行番号rowからn行分の非表示を解除する |
showSheet() | Sheet | シートを表示する |
sort(col[,ascending) | Sheet | 列番号colの値でシートを並べ替える()ascendingをfalseにすると降順 |
上記のようにSheetクラスには、セル範囲シートの操作やセルの指定をするメンバーが沢山用意されています。
セル範囲を取得する
SpreadsheetAppクラスでSpreadsheetを取得して、シートを取得しましたので、今度はセルを取得します。
セルの範囲を取得する方法はいくつかありますが、ここでは基本的なものを2つ紹介します。
サンプル
A1セルから、E3セルまでに、「あ」~「そ」までのひらがなが入力してあるシートです。
セル範囲を取得するためには、「getRange」メソッドを使います。
Sheetオブジェクト.getRange(セル範囲)
A1形式で指定する
getRangeメソッドでのセル範囲の指定は2つ方法があります。次のコードは、A1形式で指定した場合です。
range.getA1Notation()でセル範囲のアドレスをA1形式でログに出力しています。
サンプルの「い、き、し」のセル範囲「B1:B3」を取得します。
function test(){
// シートを取得する
var sheet = SpreadsheetApp.getActiveSheet()
// getRangeメソッドを使ってA1形式で指定する
var range = sheet.getRange("B1:B3")
Logger.log(range.getA1Notation()) // "B1:B3"
}
行番号・列番号を指定する
次のコードは、もう一つの方法である行番号・列番号を指定して取得する方法です。
Sheetオブジェクト.getRange(行番号, 列番号 [, 行数, 列数 ])
といった具合で指定します。
同じ様に、サンプルの「い、き、し」のセル範囲「B1:B3」を取得してみます。
function test(){
// シートを取得する
var sheet = SpreadsheetApp.getActiveSheet()
// getRangeメソッドを使って行番号・列番号で指定する
var range = sheet.getRange(1, 2, 3, 1)
Logger.log(range.getA1Notation()) // "B1:B3"
}
もう少し詳しく、図で説明しときます(^^)
範囲の中で一番左上にあるセルの、行番号・列番号を指定して、その後ろに、そこから何行分・何列分範囲を広げるか指定する感じです!
まとめ
Sheetクラスについて説明しました!次回以降も更に配下のクラスについて順番に説明していきます!
コメント