初めまして。
過去ログを一通り見たのですが、残念ながら有効な回答が見つからなかったので投稿させて頂きます。
エクセルのVBAを使用し、IEを起動する処理を組みました。
そしてその内容を読み込んで、ある条件に合致した場合、Aフォームを表示する、
という処理をさせたいのですが、どうしてもタスクバーが点滅し、表示出来ません。
具体的には以下のようなコードです。
Dim objIE
Dim strBody as String
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://*****"
Do Until objIE.Busy = False
DoEvents
Loop
strBody = objIE.document.body.innertext
If strBody="****" then
Aフォーム.Show
Dim Ret As Long
Dim hFrm As Long
hFrm = FindWindow("XLMAIN", vbNullString)
Ret = SetActiveWindow(hFrm) '--①
Ret = SetFocusAPI(hFrm) '--②
AppActivate "AフォームのCaptionプロパティ" '--③
SendKeys ("%{TAB}") '--④
End if
(以下略)
※各API関数は標準モジュールで宣言済み
①〜④の処理はそれぞれ単独、同時で動作させてみましたが、点滅は変わりません。
Aフォームはモーダルでの表示が必須となっています。
OS:XP Pro SP2,2000 Pro(XPは開発環境、2000は稼動環境です)
EXCEL:2002
VBA:VB6
よろしくお願いします。m(_ _)m
申し訳ありません。
自己解決いたしました。
③の処理でAフォームではなく、エクセルブック名を指定して、
Aフォームを表示するタイミングを③の処理の下にすると解決しました。
ツイート | ![]() |