質問: varSpreadObj.getSheetByName("シート1"); varSSheetObj.setName("sheetname1"); } ``` ### 試したこと シート名の取得(10行目getSheetByName)までは正常に機能しているものと推測される。 指定するシート名を新規作成時に存在しないシート名(例:シート2)にすると実行時に以下のエラーが出力される。 TypeError: Cannot read property 'setName' of null
回答: > > 指定するシート名を新規作成時に存在しないシート名(例:シート2)にすると実行時に以下のエラーが出力される。 > > > そりゃ当たり前です。存在しないシート名はゲットできませんから。 複数のシートを名前を付けて作成したいなら insertSheet(sheetName) で名前をつけてシート追加を。 > > スプレッドシートを移動する理由 > > > もともとのコードの引用元は以下でしょうか? changeSheetName の方のコードでも、作成した後、指定フォルダにコピーしてオリジナルを削除って手順を踏んでます。これは、SpreadsheetApp.create() による 新規スプレッドシート作成は、マイフォルダ直下にしか作成できないので、作成後に 指定フォルダにコピーしたり移動したりと手順を踏む必要があるからです。