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

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

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

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

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

2515閲覧

GASでの画面遷移について

nono1234

総合スコア25

Google スプレッドシート

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

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2021/03/06 06:18

編集2021/03/06 13:58

GASで質問です。
あるスプレッドシートに"from"と"to"というシートがあるとします。
今fromという名前のシートを表示しているときにfromからtoという名前シートに画面を遷移させるスクリプトを書きたいときに

GoogleAppsScript

1 2function MoveSheet_1(){ 3 var ssheet = SpreadsheetApp.getActive() 4 5 SpreadsheetApp.setActiveSheet(ssheet.getSheetByName("to"),true); 6 7} 8

と書けば画面遷移するのですが

GoogleAppsScript

1 2function MoveSheet_2(){ 3 var ssheet = SpreadsheetApp.openById("スプレッドシートのID"); 4 5 SpreadsheetApp.setActiveSheet(ssheet.getSheetByName("to"),true); 6}

だと画面遷移を行ってくれません。
getActiveよりもopenByIdのほうが対象スプレッドシートが確定するため安全かとおもっているのですが、from画面を表示しているときにgetActiveとopenByIdでは挙動が違うのでしょうか?
追記:getSheetsして得たsheetに対してsheet.activate()した場合も同様でした

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

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

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

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

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

guest

回答1

0

ベストアンサー

openByIdはサーバー側だけで開いてる状態です。
なので、クライアント側には変化無いです。
ログで確認するとシートは変わってるはずです。

js

1function MoveSheet_2(){ 2 var ssheet = SpreadsheetApp.openById("スプレッドシートのID"); 3 SpreadsheetApp.setActiveSheet(ssheet.getSheetByName("to"),true); 4 console.log(ssheet.getActiveSheet().getSheetName()) //to 5}

投稿2021/03/06 13:38

gakuburu

総合スコア125

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

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

nono1234

2021/03/06 13:56

ご回答ありがとうございます。となるとgetActiveとopenByIdではオブジェクトとしては同じだけれども、実行サイドでの影響が暗黙的に違うのですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問