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

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

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

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

Google Apps Script

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

Q&A

解決済

1回答

1597閲覧

ボタンに割り当てたスクリプトの実行後にカーソル移動ができません

Tossystark

総合スコア1

Google スプレッドシート

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

Google Apps Script

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

0グッド

0クリップ

投稿2022/05/03 01:37

スプレッドシートの'B10'セルにカーソルを移動する以下のスクリプトを「ボタンに割り当てて」実行しました。

function myFunction() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange('B10').activate();
}

正常に完了するのですが、直後にキーボードを使ってカーソルが移動できなくなってしまいます。
ESCキーを押したり、マウスでクリック操作をすると移動できます。
また、スクリプトをエディタから実行すると問題ありません。
(ボタンに割り当てて実行すると問題が発生します)

解決策をご存じないでしょうか。

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

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

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

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

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

guest

回答1

0

ベストアンサー

画像に割り当てたスクリプトを実行後、SideBarを表示→非表示と切り替えることで、
activateしたセルのカーソルにフォーカスを戻すことができます。

この方法は、フォーカスが戻ってからカーソルを動かせるようになるまで、若干タイムラグが生じるのが短所ですが、おそらく他に方法はありません。

js

1function myFunction() { 2 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 3 sheet.getRange('B10').activate(); 4 toggleSideBar(); 5} 6function toggleSideBar() { 7 const html = '<script>setTimeout(google.script.host.close,0);</script>'; 8 SpreadsheetApp.getUi().showSidebar(HtmlService.createHtmlOutput(html)); 9}

投稿2022/05/05 00:30

編集2022/05/08 01:57
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Tossystark

2022/05/08 01:48

ご回答ありがとうございます。 しかし、GASではtoggleSideBarメソッドは存在しないようです。
退会済みユーザー

退会済みユーザー

2022/05/08 02:21 編集

toggleSideBarメソッドは自作のオリジナルの関数です。 ブラウザで見ると回答欄のコードが折りたたまれていて見えなくなっていたかもしれませんが、 コード欄の下のボタンをクリックすると展開できます。(下図) https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-08/91b7530f-edb5-4e17-b687-d26dfc22a355.png そこに toggleSideBarメソッドが書いてありますので、それをコピペしてください(わかりやすいようにコードを編集して、関数名の先頭がちらっと見えるようにしました)
Tossystark

2022/05/08 07:45

大変失礼しました。 意図通りに動作することを確認しました。 (しかし、このような回避策をとらないと実現できないとは...バグですかね) ご対応ありがとうございました!活用させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問