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

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

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

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

Google Apps Script

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

Q&A

解決済

2回答

7464閲覧

スプレッドシートで、セル内に配置した画像にスクリプトを割り当てたい

Eitetsu

総合スコア1

Google スプレッドシート

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

Google Apps Script

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

0グッド

0クリップ

投稿2021/05/25 17:02

前提・実現したいこと

画像のように、同じ列上で複数の表を作っており、Google Apps Scriptを使って各表の最終行に新しい入力用のセルを作るスクリプトを作成しました。

そのスクリプトを割り当てた画像か図形をこのように見出しの横に配置したいです。

それぞれ、表1の最終行に新しいセルを追加するスクリプト、表2の最終行に新しいセルを追加するスクリプトになっています。
イメージ説明

ですが、これだと単純にセル上に図形を配置しているだけなので、実際にセルを追加すると図形がずれてしまいます。
イメージ説明

一通り検索できそうな語句は試してみたのですが、セル内に画像や図形を挿入し、スクリプトを割り当てる方法は見つかりませんでした。
何かしら方法をご存知の方がいらっしゃいましたらご教授いただければ幸いです。

試したこと

図形を挿入、セル上に画像を配置、では上記の画像のように図形や画像がずれてしまいました。
セル内に画像を配置、ですとスクリプトが割り当てられませんでした。

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

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

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

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

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

guest

回答2

0

ベストアンサー

セル内の画像にはスクリプトの割り当ては出来なさそうですね。

ご希望の内容から離れてしまいますが、
シートの上の方に、
「追加する表」のセレクトボックスと「GAS実行用のボタン」を追加し、
実行するという方法になりそうです。

どうしても表のタイトル行に追加ボタンを追加したいということでしたら
GASでhtmlを作成し、シートをhtmlのテーブル上に再現して、シートと連動させるという
方法になると思います。

投稿2021/05/26 03:26

Tatsunosuke

総合スコア599

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

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

Eitetsu

2021/05/26 07:38

やはりセル内の画像にスクリプトを割り当てることは難しいのですね。 まだGASも触り始めたばかりで、htmlの方はまったく知識がないため、シート上部にボタンを追加する方法で行こうと思います。 回答、ありがとうございました。大変助かりました。
sawa

2021/05/26 08:09

Tatsunosukeさんの回答で既に解決済みとなっているので余談となりますが、セル上のボタンでもセルの枠からはみ出してなければ行追加の際に一緒に移動されるのでズレないですよ。もう少しサイズを小さくして枠に収まるようにしてみると良いかと。
Eitetsu

2021/05/26 08:56

追記、ありがとうございます! 試してみたのですが、行や列を挿入した際にはセル上の画像も連動して動いてくれたのですが、セル挿入の場合だと連動してくれないようでした。 ただ、今後画像にスクリプトを割り当てる際には参考にさせていただきたいと思います。ありがとうございます。
Tatsunosuke

2021/05/26 09:46

sawaさん、勉強になりました。ありがとうございます!
sawa

2021/05/26 10:47

失礼しました。セル挿入だったのですね。行や列と仕様が違うのは気づきませんでした
guest

0

Google Apps Script で「セル内に画像を配置」と同様のことを実現するには insertImage メソッドが対応しています。

 insertImage メソッドでの画像の指定方法には2通りあって **Blob **か URLの どちらかになります。

また、念のため「マクロを記録」の機能を利用して「セル内に画像を配置」に対応するスクリプトを自動で生成しようと試みたのですが、実際にはスクリプトは作成されませんでした。

どうやら「マクロを記録」では、insertImage メソッドに対応していないようで、自分でスクリプトを書く必要があるみたいですね。

Google Apps Script リファレンス

 Class Sheet

insertImage(blobSource, column, row)

insertImage(url, column, row)

投稿2021/05/26 00:52

Yoshi88

総合スコア623

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問