###前提・実現したいこと
Webに入力画面があります。
formData01にコードを入れると、対応する名前がformData02に自動で入るようなページの作りです。
このページは私が管理しているものではないので編集などはできません。
JavaScriptはヘッダのところでたくさん読み込まれています。
なので、このHTMLのonChangeのところにある「updatedData()」は、そのたくさん読み込まれているjsファイルのどれかのなかにあって
おそらくformData01の値を持ってサーバに検索に行って、名前を持って戻ってくる動作が書かれていると思われます。
HTML
1<input name="formData01" tabindex="1024" id="formData01" onchange="updatedData();" type="text" size="4" maxlength="6" value=""> 2<input name="formData02" tabindex="1024" class="disabledItem" id="formData02" type="text" size="19" maxlength="50" readonly="true" value="">
実際のページでは、formData01にコードを入力してblurしたら、formData02に名前が自動で表示されます。
最終的な目標は、この入力フォームにExcelからコードを自動入力して、表示された名前を取得することです。
Excelのマクロはこんなのを書いてみました。
VBA
1Sub getName() 2 3Dim objIE As Object 4Set objIE = CreateObject("InternetExplorer.Application") 5objIE.Visible = True 6Const URL = "http://…/そのページ.html" 7 8objIE.navigate URL 9Do While objIE.Busy Or objIE.readyState < 4 10 DoEvents 11Loop 12 13objIE.document.getElementById("formData01").Value = "123456" 14objIE.document.getElementById("formData01").Change 15 16End Sub
###発生している問題・エラーメッセージ
上記のVBAで、formData02に自動で名前が出てくるはずなのに出てきません。
コード"123456"は入力されています。
VBAのChangeではブラウザにonChangeとは認識してもらえないのでしょうか。
ChangeでもBlurでもいいのですが、ブラウザにそのように認識してもらうにはどう書いたらいいのでしょうか。
###補足情報(言語/FW/ツール等のバージョンなど)
Windows(7と10があって半々くらい)
Microsoft Office 2016
IE11(会社の決まりでこれしか使えません)
==========================================
[2017/09/20]
外部から呼び出されているjsファイルをひとつずつ読んでみて、onChangeのときにどこかで何をしているのかを見ています。
JavaScript
1 $('#formData01').focusout(function() { 2 });
っていう記述をみつけて
これで、ajaxでjsonデータを持ってきて、それをformData02に入れているっぽいです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/22 01:31