【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から記載されていたら成功です!
では、また次回お会いしましょう(*'▽')
この記事が気に入ったらサポートをしてみませんか?