69

Googleドキュメントスプレッドシートの特定のセルにボタンを追加したいのですが。Apps ScriptのUIドキュメント では、新しいパネルを追加する方法について説明していますが、そのパネルのUIを特定の行またはセルにアタッチする方法は明確ではありません。

特定のセルにUIを追加することは可能ですか、それとも新しいパネルの追加に制限されていますか?

4

4 に答える 4

124

アプリのUIはパネルに対してのみ機能します。

あなたができる最善のことは、自分でボタンを描き、それをスプレッドシートに入れることです。あなたがそれにマクロを追加することができるより。

[挿入>描画...]に移動し、ボタンを描画してスプレッドシートに追加します。それをクリックして「マクロの割り当て...」をクリックするよりも、実行したい関数の名前をそこに挿入します。関数は、スプレッドシートのスクリプトで定義する必要があります。

または、ボタンを別の場所に描画して、画像として挿入することもできます。

詳細:https ://developers.google.com/apps-script/guides/menus

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

于 2011-08-06T10:45:34.643 に答える
66

ステータス2018:

ボタン(図面、画像)をセルに配置して、AppsScriptの機能にリンクできるようにする方法はないようです


そうは言っても、実際にできることがいくつかあります。

あなたはできる...

を使用してセル内に画像を配置できますIMAGE(URL)が、AppsScript関数にリンクすることはできません。

セル内に画像を配置し、以下を使用してそれらをURLにリンクできます。
=HYPERLINK("http://example.com"; IMAGE("http://example.com/myimage.png"; 1))

@Eduardoの回答で説明されているように図面を作成し、Apps Script関数にリンクすることができますが、それらはスプレッドシートの「上」に自由に浮かび、セルに配置できないスタンドアロンアイテムになります。セルからセルにコピーすることはできず、スクリプト関数が読み取ることができる行または列の位置がありません。

于 2016-03-03T10:06:30.960 に答える
4

ボタンは、画像としてフリーズした行に追加できます。添付のスクリプト内の関数をボタンに割り当てると、関数を実行できるようになります。もちろんできないというコメントは非常に古いコメントであり、おそらく今は状況が変わっています。

于 2015-10-04T21:43:50.323 に答える
2

ボタン/画像の代わりにチェックボックス(たとえば、F1)を使用します。これは、セル内の完全なuiの中間です。次に、関数をフックします。これは、ボタンをクリックしてonEdit()関数をトリガーするときに実行されることになっています。

サンプルスクリプト:

function onEdit(e){
  const rg = e.range;
  if(rg.getA1Notation() === "F1" && rg.isChecked() && rg.getSheet().getName() === "Sheet1"){
    callFunctionAttachedToImage();
    rg.uncheck();
  }
}

参照:

于 2021-12-22T16:18:27.493 に答える