フレーム内のテキストボックスに入力したい
未読分:5件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#5 2015年8月19日(水)11時09分 From: VBAマスター | 返事 削除 変更 |
> 現在こちらのHPを参考にさせて頂いておりますが、特にフレームの取り扱いについて全く分かっていないようですので、何か参考資料がありましたらご照会願います。 > また、因みに有料で個別相談は可能でしょうか? すいません、私はこのサイトの管理者ではないです(汗 ここで質問される分には、たまに回答します。 参考資料というものはないですが、このサイトを最初からマスターしていくとそこそこ構築は可能ですが、HTMLなどの付属知識は必要です。 トップページを見ると詳細の相談や開発の依頼なども請けているようなのでそちらで相談してみてはどうですか? このページ下の「開発依頼」「お問い合わせ」ってやつです。 |
Message#4 2015年8月19日(水)09時30分 From: 高山修 | 返事 削除 変更 |
VBAマスターのメッセージ(#2)への返事 VBAマスターのメッセージ(#2)への返事 早速のご対応ありがとうございます。 まだ、ご回答について行けるレベルに達していないようです。 今現在何をどうしていいかもわかりません。 一から出直しをしたいと思います。 現在こちらのHPを参考にさせて頂いておりますが、特にフレームの取り扱いについて全く分かっていないようですので、何か参考資料がありましたらご照会願います。 また、因みに有料で個別相談は可能でしょうか? > > '得意先コードのテキストエリアに値を入力 > > 'Call frameFormText (objIE, "lcSrcTokuisakiCode", "1234567") ← ここで入力できない > > frameFormTextプロシージャの中のどの部分でエラーになっているか確認しましたか? > もしくはどのように処理されていったかの確認です。 > フレーム処理をしていますが、そもそも該当するフレームが読まれているか確認してみてはどうでしょう。 > > それとこちらはinputタグが対象のプロシージャになっていますが、lcSrcTokuisakiCodeはinputタグのものですか? |
Message#3 2015年8月19日(水)09時28分 From: 高山修 | 返事 削除 変更 |
VBAマスターのメッセージ(#2)への返事 > > '得意先コードのテキストエリアに値を入力 > > 'Call frameFormText (objIE, "lcSrcTokuisakiCode", "1234567") ← ここで入力できない > > frameFormTextプロシージャの中のどの部分でエラーになっているか確認しましたか? > もしくはどのように処理されていったかの確認です。 > フレーム処理をしていますが、そもそも該当するフレームが読まれているか確認してみてはどうでしょう。 > > それとこちらはinputタグが対象のプロシージャになっていますが、lcSrcTokuisakiCodeはinputタグのものですか? |
Message#2 2015年8月18日(火)18時46分 From: VBAマスター | 返事 削除 変更 |
> '得意先コードのテキストエリアに値を入力 > 'Call frameFormText (objIE, "lcSrcTokuisakiCode", "1234567") ← ここで入力できない frameFormTextプロシージャの中のどの部分でエラーになっているか確認しましたか? もしくはどのように処理されていったかの確認です。 フレーム処理をしていますが、そもそも該当するフレームが読まれているか確認してみてはどうでしょう。 それとこちらはinputタグが対象のプロシージャになっていますが、lcSrcTokuisakiCodeはinputタグのものですか? |
Message#1 2015年8月17日(月)14時48分 From: 高山修 | 返事 削除 変更 |
最近、エクセルVBAによるIE操作を始めたばかりの超初心者です。 現在、貴HPを参考にしてデータをダウンローするためのマクロを作成しておりますが テキストデータを入力するところで躓いてしまいました。 ご指導よろしくお願い致します。 <操作内容> 1. IEをVBAで開く 2. 指定したURLで再度ページを表示する 3. ID,PWを入力する 4. ログインボタンをクリックする 5. 照会・ダウンロードのタグ(MainleftMenu)をframeTagClickでクリックする 6. 得意先コードにコードを入力する(frameFormText) ← ここで操作できない <table class="tblSrc"> <tr> <td class="tdlcItemRight"> 得意先コード </TD> <td class="tdlcItemLeft"> <input type="text" name="lcSrcTokuisakiCode" size="22" maxlength="7" value="" class="lcSrcTokuisakiCode"><!-- --></td> <td class="tdlcItemRight"> 得意先名 </td> <td class="tdlcItemLeft"> <input type="text" name="lcSrcTokuisakiNamk" size="32" maxlength="40" value="" class="lcSrcTokuisakiNamk"><!-- --></td> <td class="tdlcbtnsearch"> <INPUT type="image" name="btn030020_search" border="0" src="images/btn/btn_search.gif" alt="検索" onClick='fnc_vmJumpFindKaisha()'><!-- --></td> </tr> <tr> <td rowspan="5" class="tdlcPadding"> </td> </tr> </table> Sub IE_open() 'IE起動 Set objIE = CreateObject("InternetExplorer.application") With objIE '見えるようにする(お約束) .Visible = True '文字列で指定したURLに飛ぶ .Navigate "https://www. " '表示終了まで待つ While .Busy Or .ReadyState <> READYSTATE_COMPLETE DoEvents Wend '項目名を指定して、データをセットする .Document.all.kaiinuserId.Value = "ユーザー名" .Document.all.pswdTxtc.Value = "パスワード" 'ログインボタンを押す .Document.all.btnP010020_logonImgtop.Click '表示終了まで待つ While .Busy Or .ReadyState <> READYSTATE_COMPLETE DoEvents Wend '2秒停止 Call WaitFor(2) 'ボタンをクリック Call frameTagClick(objIE, "IMG", "imgM2104") '表示終了まで待つ While .Busy Or .ReadyState <> READYSTATE_COMPLETE DoEvents Wend '得意先コードのテキストエリアに値を入力 'Call frameFormText (objIE, "lcSrcTokuisakiCode", "1234567") ← ここで入力できない End With End Sub Sub frameFormText(objIE As InternetExplorer, _ nameValue As String, _ tagValue As String) 'フレームのオブジェクトを取得する Set objFrame = objIE.document.frames For i = 0 To objFrame.Length - 1 'フレームドキュメントのオブジェクトを取得する Set objFrameDoc = objFrame(i).document 'フレーム内のテキストボックス・パスワードボックスに値を入力 For Each objTag In objFrameDoc.getElementsByTagName("input") If objTag.name = nameValue Then objTag.Value = tagValue GoTo label01 End If Next 'フレームテキストエリアに値を入力 For Each objTag In objFrameDoc.getElementsByTagName("text") ← 変更 If objTag.name = nameValue Then objTag.Value = tagValue GoTo label01 End If Next Next label01: End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降