プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
execelのVBAでIEの操作をしています。
操作したいページのテキストボックスに入力しFireEventでonkeypressを実行しましたが、
onkeypressによって実行される関数にkeycode 13 (エンターキーが押された)を渡す方法がわからず困っています。
以下がテキストボックスのソースです。
<td nowrap>
<INPUT type="text" maxlength="7" class="inp_vl1" customIdx="0" onchange="flgChg=true;" onkeypress="getXML( this.customIdx );" size="9" name="item_no" onblur="this.value=getTrim(chgNarrow(this.value).toUpperCase());" value="">
</td>

続けて以下がonkeypressに呼び出される関数です。
function getXML( pmIdx ){

flgChg = true;

var i = Number( pmIdx );

if(event.keyCode == 13){
*
*
*

VBAからonkeypressを実行する際にkeycodeを渡すにはどうしたら良いのでしょうか。

※VBAやVBAからのIEの操作は始めたばかりで手探り状態です
単語や説明に間違いやわかりづらいところがありましたら申し訳ありません。
ご指摘いただければと思います。

質問者からの補足コメント

  • obj.FireEvent(”onkeypress”, evt)
    と書くと
    コンパイルエラー:
    修正候補:=

    と出てしまいましたが、
    obj.FireEvent ("onkeypress" = evt)
    としてみたらエラーはでなくなりました。

    現在プログラムを実行できる環境ではないので、
    結果はわかりませんが、実行後また報告させていただきたいと思います。

      補足日時:2016/02/20 22:07
  • 実行しみましたが、ダメでした。

    今回は
    .Focus → sendky "{ENTER}"
    で逃げる事にしました。

      補足日時:2016/02/23 22:40

A 回答 (1件)

こちらのQ&Aの内容では如何でしょう?



https://oshiete.goo.ne.jp/qa/6444761.html
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
こちらは私も参考にしようと思いましたが、
VBとVBAでは関数の定義が違うのか、、、詳しくはわからないのですが、

obj.FireEvent()
の部分ですが、VBA上でFireEventの引数に”onkeypress”まではいいのですが  ,evt を入れようとすると、
エラーが出てしまいます。

なにか他に参考になるものがあれば、ご教授いただければと思います。

お礼日時:2016/02/20 21:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!