GASでスプレッドシートのシート名を変更する方法(setNameメソッド)
Google Apps Script(GAS)を使えば、スクリプト実行でスプレッドシートのシート名を変更することが可能です。
GASでスプレッドシートのシート名を変更する方法を解説します。
GASでスプレッドシートを自動処理
Google Aps Script(GAS)はスプレッドシートの自動処理に用いられます。
スプレッドシートのGUI操作するほとんどがGASスクリプトで実行することが可能です。
そのため、人間が行っていたスプレッドシート処理やデータ加工をGASスクリプトに代替もできます。
それによって、スプレッドシートの業務を自動化し、業務効率を高められます。
シート名をGASで取得
スプレッドシートのシート名についても、Google Apps Script(GAS)に用意されたメソッドで取得することができます。
スプレッドシートのsheetオブジェクトに対し、GASのgetSheetNameメソッドを実行することで、1行でシートの名前を取得できます。
GASでシート名の変更も可能
Google Apps Script(GAS)ではシート名を取得する以外に、シート名を変更することができます。
すでに用意されているスプレッドシートでは、人間がシート名を変更すればよいので、あまりGASでシート名を変更する必要性はありません。
しかし、GASでスプレッドシートを自動生成したり、シートを追加した場合に、シート名はデフォルトの「シート1」などになります。
そうした場合に命名ルールに沿ったシート名称にするためにGASでシート名の変更ができると便利です。
シート名を変更するsetNameメソッド
Google Apps Script(GAS)でシート名を変更するにはsetNameメソッドを用います。
sheet.setName(“変更後のシート名")
setNameメソッドはsheetオブジェクトで実行します。
シート名を引数に指定した文字列の名称に変更することができます。
GASでシート名を変更するサンプルコード
Google Apps Script(GAS)でスプレッドシートのシート名を変更する方法をサンプルコードで解説します。
下のようなスプレッドシートに紐付いたコンテナバインドスクリプトでシート名を変更します。
元々リストとなっているシートを開いた状態で以下のGASスクリプトを実行します。
function changeSheetName() {
//スクリプトに紐づくスプレッドシートのアクティブなシートを取得
let mySheet = SpreadsheetApp.getActiveSheet();
//取得したアクティブなシートのシート名を取得
let sheetName = mySheet.getSheetName();
//シート名をログ出力
console.log("シート名は " + sheetName + "です。");
//GASでスプレッドシートのシート名を変更
mySheet.setName("\\");
//再度シート名をログ出力
console.log("シート名は " + mySheet.getSheetName() + "です。");
}
スクリプトが紐付いたスプレッドシートのアクティブなシートを取得後、まずgetSheetNameでシート名を取得し、ログ出力します。
その後、setNameメソッドでシート名を変更し、再度ログ出力します。
スプレッドシートを再度確認すると、シート名が変化していることが確認できます。
このようにスプレッドシートにあるシート名をGASで変更可能です。
同じシート名が存在する場合、実行エラー
なお、スプレッドシート内に変更後のシート名と同じシート名が存在すると、setNameメソッドの実行がエラーします。
そのため、同じシート名が生成されないように命名ルールに気をつける必要があります。
例えば、毎日実行するような場合は、日付のタイムスタンプをシート名に入れて、シート名を競合するのを防ぎましょう。
まとめ・終わりに
今回、Google Apps Script(GAS)でスプレッドシートのシート名を変更する方法を紹介しました。
sheetオブジェクトに対し、setNameメソッドを実行することでシート名を変更可能です。
ただ、すでに同じ名前のシート名が存在する場合、実行エラーします。
シート名を追加するようなGAS自動処理ではシート名を変更する必要があるので、ぜひsetNameメソッドを活用しましょう。
ディスカッション
コメント一覧
まだ、コメントがありません