Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9803 / 13646 ツリー ←次へ | 前へ→

【25368】IEの操作で送信ボタンのクリック kawata 05/5/30(月) 9:18 質問[未読]
【25379】Re:IEの操作で送信ボタンのクリック Kein 05/5/30(月) 11:24 回答[未読]
【25381】Re:IEの操作で送信ボタンのクリック kawata 05/5/30(月) 11:33 お礼[未読]
【25383】Re:IEの操作で送信ボタンのクリック Kein 05/5/30(月) 11:37 発言[未読]
【25386】Re:IEの操作で送信ボタンのクリック kawata 05/5/30(月) 11:42 お礼[未読]
【25388】Re:IEの操作で送信ボタンのクリック kawata 05/5/30(月) 11:58 お礼[未読]
【25397】Re:IEの操作で送信ボタンのクリック ichinose 05/5/30(月) 14:29 発言[未読]
【25398】Re:IEの操作で送信ボタンのクリック kawata 05/5/30(月) 14:36 お礼[未読]

【25368】IEの操作で送信ボタンのクリック
質問  kawata  - 05/5/30(月) 9:18 -

引用なし
パスワード
   kawataです、お世話になります。
(Windows2000/Excel2000)

VBAでIEを操作するということで、ネットで参考になるコードを探しつつ、
IE上のテキストボックスへデータを入れるところまではなんとか
たどりつきました。

For i = 5 To e_row
  mise = Sheets(1).Range("a" & i).Value
  bumon = Sheets(1).Range("b" & i).Value
  mise_kanzi = Sheets(1).Range("c" & i).Value
  fax_no = Sheets(1).Range("d" & i).Value
  With objDOC
     .all("mise_cd").Value = mise
     .all("bumon_cd").Value = bumon
     .all("mise_name").Value = mise_kanzi
     .all("faxno").Value = fax_no
'     .submit or Click ←ここがわかりません。
  End With
Next

送信ボタンの部分のソースは

<INPUT type="button" name="add_data" value="登 録" class="button1" onClick="submit_data(4);">

上のようになっております。
記述について教えてください、よろしくお願いします。

【25379】Re:IEの操作で送信ボタンのクリック
回答  Kein  - 05/5/30(月) 11:24 -

引用なし
パスワード
   .all("add_data").Click

ぐらいでいいのでは ?

【25381】Re:IEの操作で送信ボタンのクリック
お礼  kawata  - 05/5/30(月) 11:33 -

引用なし
パスワード
   kawataです、Keinさん、ありがとうございます。

>.all("add_data").Click
>ぐらいでいいのでは ?

はい、これは試しています。
「オブジェクトは、このプロパティまたはメソッドを〜」の
エラーになります。

その前のコードがおかしいのでしょうか?。
ただし、.all("〜").value = "" はすんなり入ります。

※見つけたコードを理解せずに改造しているのが
 もっとも大きな原因だと思います。
 一行一行理解しようと努めてはいるのですが・・。

【25383】Re:IEの操作で送信ボタンのクリック
発言  Kein  - 05/5/30(月) 11:37 -

引用なし
パスワード
   んー・・
>With objDOC
の、変数の中身が分からないのですが、ひょっとして

With objDOC.Document

でないとダメなのでは・・?

【25386】Re:IEの操作で送信ボタンのクリック
お礼  kawata  - 05/5/30(月) 11:42 -

引用なし
パスワード
   kawataです、Keinさん、ありがとうございます。

>んー・・
>>With objDOC
>の、変数の中身が分からないのですが、ひょっとして
>
>With objDOC.Document
>
>でないとダメなのでは・・?

あっ!と、そのアドバイスからちょっと思いつきましたので修正テストしてみます。
あとで、また報告します、ありがとうございました!。

【25388】Re:IEの操作で送信ボタンのクリック
お礼  kawata  - 05/5/30(月) 11:58 -

引用なし
パスワード
   kawataです、Keinさんありがとうございます。

最初、ログインからリンクをたどってFramesオブジェクトを経由して
いたのですが、その目的のページを直接Navigateしたら、すんなり
入れたので、作り変えました。
そのときの、

'  Dim objFRAME As FramesCollection
  Dim objDOC As IHTMLDocument
'  Set objFRAME = objIE.document.frames
'  Set objDOC = objFRAME(0).document
         ↓
  Set objDOC = objIE.document

これで、すっきりいけました。
ただ、やはりクリックは同じエラーが出ました。
何か・・見逃してるのかな・・・難しいです。

【25397】Re:IEの操作で送信ボタンのクリック
発言  ichinose  - 05/5/30(月) 14:29 -

引用なし
パスワード
   ▼kawata さん:
こんにちは。

>
>最初、ログインからリンクをたどってFramesオブジェクトを経由して
>いたのですが、その目的のページを直接Navigateしたら、すんなり
>入れたので、作り変えました。
>そのときの、
>
>'  Dim objFRAME As FramesCollection
>  Dim objDOC As IHTMLDocument
>'  Set objFRAME = objIE.document.frames
>'  Set objDOC = objFRAME(0).document
>         ↓
>  Set objDOC = objIE.document
   '↑これでよいなら、
   objDOC.getElementsByName("add_data").Item(0).Click

'では? どうでしょうか?


>これで、すっきりいけました。
>ただ、やはりクリックは同じエラーが出ました。
>何か・・見逃してるのかな・・・難しいです。

【25398】Re:IEの操作で送信ボタンのクリック
お礼  kawata  - 05/5/30(月) 14:36 -

引用なし
パスワード
   kawataです、ichinoseさん、ありがとうございます。

>   objDOC.getElementsByName("add_data").Item(0).Click
>
>'では? どうでしょうか?

・・・動きました、なんというか・・・感激です。
ありがとうございました。
こういうコードってヘルプで調べられませんよね???。
なんか、どこをどう手をつければ、こういうコードを書ける
ようになるのか・・。

ということで解決です(さて解読ですが、???の状態です)。

Keinさん、ichinoseさん、ありがとうございました!!。

9803 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free