【GAS 基礎】GASでスプレッドシートを操作する(Sheetクラス)

スポンサーリンク

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クラスについて説明しました!次回以降も更に配下のクラスについて順番に説明していきます!

コメント

タイトルとURLをコピーしました