appsscript.json の設定を変更する以外の方法を探している方!
今回はコンテナバインド型のGASではなく、
スタンドアロンのGASから別のスプレッドシートのタイムゾーンを変更する方法をご紹介します。
イメージとしては以下のような感じになります。

コンテナバインド型のタイムゾーン変更方法はたくさん情報がありますが
意外とスタンドアロンのGASからの変更の情報は少ないのではないでしょうか。
結論
・言語/地域の変更 → setSpreadsheetLocale メソッドを使う
・タイムゾーンの変更 → setSpreadsheetTimeZone メソッドを使う
使い方
spreadsheet.setSpreadsheetLocale(‘<ロケール>’);
→日本の場合:spreadsheet.setSpreadsheetLocale(‘ja_JP‘);
spreadsheet.setSpreadsheetTimeZone(‘<タイムゾーン>’);
→日本の場合:spreadsheet.setSpreadsheetTimeZone(‘Asia/Tokyo‘);
※ここでのspreadsheetは変数を表します
サンプルコード
以下をコピペしてスプレッドシートのファイルIDを入力すれば実行できます!
function set_timezone() {
var fileId = '<スプレッドシートのファイルID>';
//ファイルIDを指定してスプレッドシートを開く
var spreadsheet = SpreadsheetApp.openById(fileId);
//ロケール・タイムゾーン変更
spreadsheet.setSpreadsheetLocale('ja_JP');
spreadsheet.setSpreadsheetTimeZone('Asia/Tokyo');
}
ちなみにスプレッドシートIDの確認方法はこちら↓↓

実行してみたらこんな感じ
わざとロケール(言語と地域)とタイムゾーンを日本以外に設定してみます。

さきほどのコードをGoogle Apps Scriptに貼り付けて、、、実行!

スプレッドシートのほうを確認してみると、、、

GASで設定した通りに値が変更されていました!
※スプレッドシートの[ファイル]-[設定]から上記の画面が確認できます。
Google Apps Scriptの起動方法がわからない方はこちらの記事をご参照ください。

さいごに
なかなか使うことがないかもしれませんが、日本語の情報が探しきれなかったので備忘録として残しておきます。
以下のように変更してファイルIDを引数でもらうようにすると応用がききやすいかもしれませんね。
function set_timezone(fileId) {
//ファイルIDを指定してスプレッドシートを開く
var spreadsheet = SpreadsheetApp.openById(fileId);
//ロケール・タイムゾーン変更
spreadsheet.setSpreadsheetLocale('ja_JP');
spreadsheet.setSpreadsheetTimeZone('Asia/Tokyo');
}
ではまた
コメント