質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Q&A

解決済

1回答

764閲覧

スプレッドシートのシート名の変更をGASでできるようにしたい

sucoco_0926

総合スコア5

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

0グッド

0クリップ

投稿2023/03/24 06:04

実現したいこと

スプレッドシートの名前をGASで変更できるようにしたい

前提

スプレッドシートで年間のスケジュールを管理していて、月ごとにシートに分けているのですが、
年度が替わるのでシートの名称をGASを使用して変更したいと思っています。
▶2022年4月、2022年5月、、、、2023年2月、2023年3月といったシート名を、
2023年4月、2023年5月、、、、2024年2月、2024年3月に変更する操作になります。

とてもお恥ずかしいのですが、GASを自身で作ったことはなくて、
いつもネットで調べて色々な方のスクリプトを見ながらつぎはぎして作成しているので、
根本的に何が違うのかも理解できていません。。。
御詳しい方にご教示願いたいです。
よろしくお願いいたします。

発生している問題・エラーメッセージ

アクティブシートのB2セルにシートの名前と同じ「年、月」の表記があるため、
そのセルの名称をそのままシートの名前として取得し、名称変更するスクリプト作成をしてみたのですが、
B2セルで取得した名称がsetNameで反映されません。

エラーメッセージ
Exception: Invalid argument: name

該当のソースコード

function changeSheetName() { //スクリプトに紐づくスプレッドシートのアクティブなシートを取得 let mySheet = SpreadsheetApp.getActiveSheet(); //取得したアクティブなシートのシート名を取得 let sheetName = mySheet.getSheetName(); //シート名をログ出力 console.log("シート名は " + sheetName + "です。"); //GASでスプレッドシートのシート名を変更 var setName = test(); mySheet.setName(test()); //再度シート名をログ出力 console.log("シート名は " + mySheet.getSheetName() + "です。"); } function test() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss; // B2セルを選択 var range = sheet.getRange('B2'); var values = range.getDisplayValues(); console.log(values[0][0]);   }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

「var setName = test();」の次に「console.log(setName);」をいれて確認してみてください。
「test」を実行して「values」にB2の値を入れて終わっていて、何も返ってきていません。
「test」の最後に「return values[0][0];」を入れればsetNameにB2の値が入り動作すると思います。

投稿2023/03/24 06:34

bebebe_

総合スコア497

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sucoco_0926

2023/03/27 00:34

早急にご回答いただきありがとうございました! おかげさまで正常に動作し、年度越しのデータ移行作業がスムーズにできました。 感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問