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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

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

Q&A

解決済

1回答

2806閲覧

gasで、アクティブになったセルに文字が入力されるようにしたい

blendegg

総合スコア81

Google Apps Script

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

0グッド

0クリップ

投稿2021/06/18 03:32

gasでアクティブになったセルに文字が入力されるようにしたいです。
しかし、以下のコードではインデックス0,0の位置にhello worldが表示されます。

// 現在アクティブなスプレッドシートを取得 var ss = SpreadsheetApp.getActiveSpreadsheet(); // そのスプレッドシートにある最初のシートを取得 var sheet = ss.getSheets()[0]; // そのシートにあるアクティブなセルを取得 var cell = sheet.getActiveCell(); cell.setValue("hello world");

以下のような動作を期待していますが可能でしょうか?
セルの1,1を選択→hello worldと入力される
セルの2,2を選択→hello worldと入力される

やりたいことはサイドバーにボタンを表示して、クリックするとセルにデータが入力されるというものです。例えば「卵1」というボタンを、セルを選択した上でクリックすると、kcal,protein,saltといったデータが挿入されるようにしたいです。
その一環として上記を勉強していたところです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

最初のシートを取得しないで、アクティブなシートを取得すれば 選択しているセルに文字が入るはずです。

GAS

1// 現在アクティブなシートを取得 2var sheet = SpreadsheetApp.getActiveSheet(); 3// そのシートにあるアクティブなセルを取得 4var cell = sheet.getActiveCell(); 5cell.setValue("hello world");

投稿2021/06/18 05:03

sawa

総合スコア3002

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

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

blendegg

2021/06/18 07:20

回答ありがとうございます。 選択しているセルに入力されるようになりました。 ただ、これが機能するのはgasの実行時のみです。 セルを選択する都度、hello worldが入力されるような挙動にはならないでしょうか?
sawa

2021/06/18 07:36

関数名のところを function onSelectionChange() とすると、ご希望の通りセルを選択する度にhello worldが入力されますが、動きがもったりしてるしあんまお勧めしません。
blendegg

2021/06/18 09:12

その関数は動きませんでした。 となると、サイドバーからテンプレートのデータを挿入するには別の機能を使ったほうがいいでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問