VBAから即時関数を実行できますか 削除


Message#1 2016年10月13日(木)10時24分
From: moku
いつも楽しく勉強させていただいております。
環境はWin7でIEは11、Officeは365です。

HTMLやJavaScriptはほとんど書いたことがないので、適切でない表現がありましたらお許しください。

あるリストボックス(id=items2_text)に値を設定した後でイベントを起こしたいのですが、うまく行きません。
items2_textが変更になるとその隣のリストボックスの選択肢が変わる仕様です。

この手の仕様ですとリストボックスにonchangeイベントが書いてあって関数名が記述してあるケースが多いと思います。
その場合はobjIE.document.getElementById("items2_Setting").FireEvent ("onchange")としたり、
objIE.navigate "JavaScript:XXXX()"のように直接関数名を指定したりしてきました。
ところがこのリストボックス(id=items2_text)にはその記述がないのです!!

ソース全体を見てみるとこんな記述がありました。

$(function(){
$("#items1_Setting,#items2_Setting,#items3_Setting,#items4_Setting,#items5_Setting").change(function(){

省略

});
});

検索してみたのですが、これはおそらく即時関数という関数だと思います。
items2_Settingその他のリストボックスの値が変更になったらこれが実行されるのだろうと想像します。

即時関数や無名関数以外の名前のある関数なら、VBAからは関数名を指定して実行できますが、
即時関数の場合はどのように呼び出せばよいのでしょうか。

もしくは「VBAから即時関数は呼び出せない」のでしょうか。

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com