Excel VBA質問箱 IV

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

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


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

【25400】IEのポップアップのボタン kawata 05/5/30(月) 15:12 質問[未読]
【25429】Re:IEのポップアップのボタン ichinose 05/5/31(火) 20:11 発言[未読]
【25430】Re:IEのポップアップのボタン 訂正 ichinose 05/5/31(火) 20:18 発言[未読]
【25443】Re:IEのポップアップのボタン 訂正 kawata 05/6/1(水) 8:08 お礼[未読]
【25444】Re:IEのポップアップのボタン 訂正 kawata 05/6/1(水) 8:36 お礼[未読]

【25400】IEのポップアップのボタン
質問  kawata  - 05/5/30(月) 15:12 -

引用なし
パスワード
   kawataです、よろしくお願いします。
(Windows2000/Excel2000)

連続投稿申し訳ございません。すいませんがよろしくお願いします。

さきほどいただいたアドバイスで、

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
     .getElementsByName("add_data").Item(0).Click
  End With

’ここでポップアップのボタンを押したい・・・。

Next

で、送信するところまでたどり着きました。
このあと、ポップアップ(メッセージボックス?)が現れて
Yes/Cancelを聞いてきます。

で、
Appactivate "Microsoft Internet Explorer"
Sendkeys "{ENTER}",true

を試しましたが、有効な動作をしてくれません。
※ポップアップのCaptionは"Microsoft Internet Explorer"です。

またいろいろ調べていて、APIの
  myHWnd = GetLastActivePopup(objIE.hWnd)
  PostMessage myHWnd, WM_COMMAND, IDOK, 0
なども試してみました、
どうすれば、このポップアップのボタンを押せるようになるでしょうか?。
よろしくお願いします。

【25429】Re:IEのポップアップのボタン
発言  ichinose  - 05/5/31(火) 20:11 -

引用なし
パスワード
   ▼kawata さん:
こんばんは。
簡単なテストしかしていませんし、
テスト対象のHTMLファイルがkawataさんが
目的としているファイルと違うので何ともいえませんが・・。
私のテストではHtmlファイルのクリックしたボタンのイベント内で
Msgbox "ok"
としたときを対象としてテストしました。

まず、


参照設定で
「Microsoft HTML Object Library」をチェックしてください
(これはされているかな?)

次に変数「objDOC」は、Thisworkbookのモジュールに宣言します。
Thisworkbookのモジュールに

'===============================================
Public WithEvents idoc As HTMLDocument
'=================================================
Private Sub idoc_onfocusout()
  CreateObject("WScript.Shell").SendKeys "{ENTER}"
End Sub

>kawataです、よろしくお願いします。
>(Windows2000/Excel2000)
>
>連続投稿申し訳ございません。すいませんがよろしくお願いします。
>
>さきほどいただいたアドバイスで、

下のコードのどこかでobjDOCにSET命令を出していますよね?

 set thisworkbook.objDOC=・・・・・
として


>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 thisworkbook.objDOC
>     .all("mise_cd").Value = mise
>     .all("bumon_cd").Value = bumon
>     .all("mise_name").Value = mise_kanzi
>     .all("faxno").Value = fax_no
>     .getElementsByName("add_data").Item(0).Click
>  End With
>
>’ここでポップアップのボタンを押したい・・・。
>
>Next
Documentがフォーカスを失ったときにイベントが発生します。

うまくいくようだったら、フォーカスアウトが他のタイミングでも起きる場合の
処理も考えなければなりませんが・・・。
駄目元で試してみて下さい。

【25430】Re:IEのポップアップのボタン 訂正
発言  ichinose  - 05/5/31(火) 20:18 -

引用なし
パスワード
   >▼kawata さん:
>こんばんは。
>簡単なテストしかしていませんし、
>テスト対象のHTMLファイルがkawataさんが
>目的としているファイルと違うので何ともいえませんが・・。
>私のテストではHtmlファイルのクリックしたボタンのイベント内で
>Msgbox "ok"
>としたときを対象としてテストしました。
>
>まず、
>
>
>参照設定で
>「Microsoft HTML Object Library」をチェックしてください
>(これはされているかな?)
>
>次に変数「objDOC」は、Thisworkbookのモジュールに宣言します。
>Thisworkbookのモジュールに
>
訂正です。自分がテストした名前が残ってた
>'===============================================
Public WithEvents objDOC As HTMLDocument
>'=================================================
Private Sub objDOC_onfocusout()
>  CreateObject("WScript.Shell").SendKeys "{ENTER}"
>End Sub
>
>>kawataです、よろしくお願いします。
>>(Windows2000/Excel2000)
>>
>>連続投稿申し訳ございません。すいませんがよろしくお願いします。
>>
>>さきほどいただいたアドバイスで、
>
>下のコードのどこかでobjDOCにSET命令を出していますよね?
>
> set thisworkbook.objDOC=・・・・・
>として
>
>
>>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 thisworkbook.objDOC
>>     .all("mise_cd").Value = mise
>>     .all("bumon_cd").Value = bumon
>>     .all("mise_name").Value = mise_kanzi
>>     .all("faxno").Value = fax_no
>>     .getElementsByName("add_data").Item(0).Click
>>  End With
>>
>>’ここでポップアップのボタンを押したい・・・。
>>
>>Next
>Documentがフォーカスを失ったときにイベントが発生します。
>
>うまくいくようだったら、フォーカスアウトが他のタイミングでも起きる場合の
>処理も考えなければなりませんが・・・。
>駄目元で試してみて下さい。

【25443】Re:IEのポップアップのボタン 訂正
お礼  kawata  - 05/6/1(水) 8:08 -

引用なし
パスワード
   kawataです、ichinoseさんありがとうございます。
※お返事おそくなりました、どうもすいません。

お世話になってます(お久しぶりです)。
以前にも、このWithEventsを教えて頂きました。
もう、バリバリで活用させていただいてます。
今回もWithEventsということで、理解しきれていない面を
晒してしまってますね、私(^^;。

>>駄目元で試してみて下さい。

もう、感激です、さっそく試してみます。
朝の雑用済ませてからチェックしてみます、
後ほど結果報告致します。

とりあえずお礼まで、ありがとうございました。

【25444】Re:IEのポップアップのボタン 訂正
お礼  kawata  - 05/6/1(水) 8:36 -

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

どうにもたまらず仕事後回しでチェックしました。

見事に動いています。もう〜感謝感激。
※昨日、3000件ほど、ハンドでEnterを送ってました(^^;。

動作中メッセージボックスが目視できなくて???の状態でした。
で、EnterをTabにして試すと、きっちりCancelボタンに移動しました。
すごいですね、すごい。
※私がやっていた限りは、どうしてもポップアップがアクティブに
ならなく・・・、おそらくその理由もご理解されているのだろうと
思います、私はそこからはじめないといけないような。

ありがとうございました!!、またよろしくお願いします。

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