web-dev-qa-db-ja.com

アプリスクリプトを使用して、Googleスプレッドシートのセル内にUIを追加するにはどうすればよいですか?

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

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

52
James Moore

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

できる最善の方法は、自分でボタンを描いてスプレッドシートに入れることです。マクロを追加できるよりも。

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

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

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

enter image description hereenter image description hereenter image description here

103
Eduardo

ステータス2018:

方法なしボタン(図面、画像)を配置するようですセル​​をAppsスクリプト機能にリンクできるように配置します。


これが言われている、あなたが実際にできることがいくつかあります:

あなたはできる...

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

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

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

49
Jpsy

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

4
VLBaindoor