GASは公式ドキュメントが一番
後輩のコードレビューをしていた時、今月のシートというものが設定されているスプシファイルに対して、全シートをforループで走査していたのを発見。
試しに「GAS シート 存在確認」でググったところ、上位4件中3件が、
「一発で存在確認できるクラスはない」
「自作関数を用いて簡素化せよ」
という内容のブログだったので、あえて否定記事を書かせていただきます。
存在するシートの名前の全てを走査しなくとも、getSheetByName()
で存在しないシートを参照した場合、null
が返ってくるので、ifステートメントでnullじゃないことを確認すれば済む。
「GAS check sheet existance」と検索すると一番に出てくるのがこちらの記事↓
https://stackoverflow.com/questions/48974770/check-for-existence-of-a-sheet-in-google-spreadsheets
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('SHEET_NAME');
if (!sheet) {
//DO;
}
※nullはfalseになる。
公式ドキュメントにもしっかり
Returns null if there is no sheet with the given name.
と書いてある。
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getsheetbynamename
ちなみにここにも注意。
If multiple sheets have the same name, the leftmost one is returned.
(同じ名前で複数のシートがあった場合、一番左側(最初に見つかった分)のシートが返ってくる)
- 英語でググりましょう。量と正確さが違う。
- GASは公式ドキュメント参照するのが一番