以下の過去記事に質問コメントがあったのでその回答記事になります。
画像を複数用意した場合に、それぞれに異なるメソッドを割りあてる方法についてです。代替テキストを利用したら良いということを書きましたが、具体例を以下に書きます。
今回のお題
- 以下のように、シートに2つの画像を用意します
- それぞれの画像をクリックすると、「モモだよ」「りすだよ」と表示します。
代替テキストを割り当てる
今回はタイトルに書いてみました。それぞれに、「momo」「risu」と書きました。
下記のようになります。ポイントとしては、イメージを取ってきて、getAltTextTitleで画像のタイトルを取り出し、確認してメソッドを登録しているところになります。なお、assignScriptsToImages()を実行しないと、メソッドは登録されませんので、このメソッドをいつ呼び出すかについては、AppScriptのトリガーでシートの起動時にこのメソッドを呼び出すようにするのは一つの手でしょう。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function assignScriptsToImages() { | |
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); | |
var images =sheet.getImages(); | |
for(var i=0;i<images.length;i++){ | |
switch(images[i].getAltTextTitle()){ | |
case "risu": | |
images[i].assignScript("risuSay"); | |
break; | |
case "momo": | |
images[i].assignScript("momoSay"); | |
break; | |
} | |
} | |
} | |
function risuSay(){ | |
Browser.msgBox("りすだよ"); | |
} | |
function momoSay(){ | |
Browser.msgBox("モモだよ"); | |
} |
0 件のコメント:
コメントを投稿