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から即時関数は呼び出せない」のでしょうか。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。