ScriptSpreadSheet

【GAS】スプレッドシートのシート名を取得する

getName – スプレッドシートのシート名を取得する

スプレッドシートのシート名を取得するのはシートオブジェクトのgetNameメソッドです。

わざわざ赤字にしたのは同じ名前のメソッドがスプレッドシートオブジェクトにもあるからです。

どのオブジェクトに対しての操作なのかを意識しておかないと違う名前をとってきてしまいます。


このようなスプレッドシートのシート名を取得します。


このスプレッドシートには5つのシートがあり、それぞれ「シート1〜5」という名前がついています。

コード

const getSheetNames = () => {
  const spreadsheetApp = SpreadsheetApp
  const spreadsheet = spreadsheetApp.openById('スプレッドシートのIDが入ります')

  // シートの名前を取得する
  const sheets = spreadsheet.getSheets()
  const sheetNames = sheets.map(sheet => sheet.getName())
  console.log(sheetNames)

  // スプレッドシートの名前を取得する
  const spreadsheetName = spreadsheet.getName()
  console.log(spreadsheetName)
}


実行結果


シートの名前を取得して出力している部分はここ

  const sheets = spreadsheet.getSheets()
  const sheetNames = sheets.map(sheet => sheet.getName())
  console.log(sheetNames)

スプレッドシートの名前を取得して出力している部分はここ

  const spreadsheetName = spreadsheet.getName()
  console.log(spreadsheetName)


ということでgetNameという名前は同じでも、どのオブジェクトなのかによって違う結果が出力されることがわかります。

配列の処理

なお、シートは1つのスプレッドシートの中に複数あります。ですのでシートを取得するときのメソッド名はgetSheetsという複数形で、取得結果は配列です。配列を処理するのにここではmapメソッドを使ってます。

配列を処理するにはいくつかのやり方があります。

  • mapメソッド ー 配列から新しい配列をつくるときに使うメソッド
  • for 〜 of 〜 ー 配列に繰り返し処理を行う文
  • forEach ー 配列に繰り返し処理を行うメソッド

それぞれの方法で同じことを実現します。(同じこと=シート名の配列をつくる)

mapメソッド

const sheetNames = sheets.map(sheet => sheet.getName())

for 〜 of 〜文

const sheetNames = []
for (const sheet of sheets) sheetNames.push(sheet.getName())

forEachメソッド

const sheetNames = []
sheets.forEach(sheet => sheetNames.push(sheet.getName()))

Copied title and URL