【Google Apps Script】SpreadSheet(スプレッドシート)でシート名を取得する関数とは?ついでに全部のシート名を取得する関数も作ってみた

【Google Apps Script】SpreadSheet(スプレッドシート)でシート名を取得する関数とは?ついでに全部のシート名を取得する関数も作ってみた

勤務先では、グループウェアとしてG Suite(旧Google Apps)を使用しています。

ですので、ちょっとした表も案件管理票もエクセルでなく、スプレッドシート(Google SpreadSheet)を使って書いてます。

先日、資料を作っていて「シート名を取得したい!」と思ったので調べました。

実はGoogle SpreadSheetにシート名を取得する関数は?

  • 行だったら、ROW()
  • 今日の日付だったら、TODAY()

という感じでシート名を取得する関数があるのかと思ってたんですが、なぜか無いようです!

ということでシート名を取得する関数を作ってみた

こんな感じになります。


function sheetname() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

参考:Googleスプレットシートでシート名を取得する方法を知りたいです。エクセルな… – Yahoo!知恵袋

ちなみに全部のシート名を取得する関数は

当然、ありませんので作ってみました。
1. シート名を取得し、配列に格納する。
2. シートの数だけ繰り返す。

という処理のフローです。

function GetAllSheet() {
  var objSheets;
  var sheetNames = [];
  objSheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();//
  var intMaxIndex = objSheets.length;
  for (intIndex = 0; intIndex < intMaxIndex; intIndex++) {
    sheetNames[intIndex] = objSheets[intIndex].getName();
  }
  return sheetNames;
}

解説

ちなみにGoogle SpreadSheetで戻り値が配列の場合、縦方向に連続して値が出力されます。

この性質を利用すれば、セルに値を入れるSetValueみたいな処理をしなくてもいいので、簡単に書くことが出来ます!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする