見出し画像

【Google Apps Script 通信 vol.4】スプレッドシートのシート名を取得しよう!②|if文を使った条件分岐

こんにちは。きゅうりです。

前回やったこと

前回スプレッドシートのすべてのシート名を取得して、書き出すことができましたね!

でも要らないデータも入ってしまう…(この場合だと出力シートの情報は不要)

無題

やること

条件によってコード実行有無を制御する方法を見ていきましょう!

今回は、出力シートの場合は書き出さないという指示を書いていきます。

使うのはif文

下記がif文の基本です。

if (条件式) {
条件に当てはまる場合に実行するコード
}

前回のコードの真ん中あたりにif文を差し込んだので、見てみてください。

GASではノットイコールを!==で表現するがポイントです。

function myFunction() {
 
 // 現在のスプレッドシートにアクセス
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 
 //  出力シートにアクセス
 var outputSheet = ss.getSheetByName('出力');
 
 // スプレッドシートのすべてのシートを取得(この時、各シートの情報が配列に格納される)
 var sheets = ss.getSheets();
 
 // 出力シートにシート名を記載する(シート数分繰り返す)
 for(var i = 0;i < sheets.length; i++){
 
   // シート名を取得
   var sheetName = sheets[i].getSheetName();
   
   // 出力シート以外の場合に次の処理を実行 ★今回はここを追加!
   if (sheetName !== '出力'){ 
 
   // 出力シートの最終行を取得(シート名を記載するセルを判定するため)
   var lastrow = outputSheet.getLastRow();
 
   //  値を入力する行を取得
   var row = lastrow +1;
     
   // 出力シートにシート名を記載
   outputSheet.getRange('A'+row).setValue(sheetName);
   }}
}

スクリプト実行してみよう

出力シートの情報が記載されず、シート1から記載されていたら成功です!

無題

では、また次回お会いしましょう(*'▽')

この記事が気に入ったらサポートをしてみませんか?