ウィルスソフトで、IEからファイルのダウンロードが一発でできない。 削除


Message#9 2017年6月5日(月)17時46分
From: みらー
困ってます君のメッセージ(#7)への返事

スキャン中というのは、すでにページが遷移したあとで、
同じページ内にリンクが出てくる、という認識で合ってますでしょうか?

スキャン中、READYSTATEが使えないのであれば、
APIのSLEEPで任意の秒数待機したあとで、
<a>タグを探す、というのはどうでしょう?

> 待機ができないのは、
> ウイルススキャン中は、
> READYSTATEは4になっていました。
> もしリンクがなければ、待機しつづける、
> というコードにすればいいのでしょうか?
>
> Debug.Print objIE2.ReadyState
> Debug.Print objIE2.Busy
>
> 4
> False
>
>
> > このようにしたら遷移したドキュメントのURLを取得できました。
> >
> > Dim objShell, objIE2 As Object
> > Set objShell = CreateObject("Shell.Application")
> > Set objIE2 = objShell.Windows(objShell.Windows.Count - 1)
> >
> > ソースはここでした。
> > https://teratail.com/questions/9052
> >
> > > みらーのメッセージ(#4)への返事
> > >
> > > ありがとうございます。
> > >
> > > ページが遷移しても、
> > > 最初のie.documentのオブジェクトは変更していないので、
> > > ie.document.urlは前のアドレスのままで、
> > > リンクがなくエラーとなってしまいます。
> > >
> > > 遷移した、今開いている新しいページを
> > > ie.documentにする方法はありますか?
> > >
> > > 新しいオブジェクトを作成しなおしすればいいでしょうか?
> > >
> > > > 困ってます君のメッセージ(#3)への返事
> > > >
> > > > ページ上にリンクが出てくるのであれば、
> > > > ページが遷移したあとに、innertextが"http*"で始まる<a>タグをループで探せば大丈夫ではないでしょうか。
> > > >
> > > > For Each obj In IE.document.getElementsByTagName("a")
> > > >   If obj.innertext Like "http*" Then
> > > >     obj.Click
> > > >   End If
> > > > Next obj
> > > >
> > > > > みらーのメッセージ(#2)への返事
> > > > >
> > > > > ありがとうございます!!
> > > > >
> > > > > リンクは、サイト上のページにでてきます。
> > > > > サイトのURLが変更になり、ループで待機ができない感じです。
> > > > >
> > > > > このようなページに変更します。
> > > > >
> > > > > https://kc.mcafee.com/corporate/index?page=content&id=KB80729&viewlocale=ja_JP&locale=de_DE
> > > > >
> > > > >
> > > > >
> > > > > > 困ってます君のメッセージ(#1)への返事
> > > > > >
> > > > > > リンクというのは、サイト上に出てくるのでしょうか?
> > > > > > それともダイアログでしょうか?
> > > > > >
> > > > > > 「1分経ったらクリック」する場合、
> > > > > > 仮にスキャンに1分以上かかった場合はアウトですよね。
> > > > > >
> > > > > > そのリンクが出てくるまで、ループで待機するのがベストだと思います。
> > > > > > それとsendkeysも確実性がないので、使うのはオススメしません。
> > > > > >
> > > > > >
> > > > > > > VBAでファイルの保存ボタンをおし、
> > > > > > > application.sendkeysで保存、まではできたのですが、
> > > > > > >
> > > > > > > うちの会社ではウイルスチェックのソフトを使っており、
> > > > > > > (McAfee web gateway)
> > > > > > > 一度、ある特定の場所に、ファイルが保存されて、
> > > > > > > そこでウイルススキャンが行われ、
> > > > > > > 問題なければ、
> > > > > > > 画面がかわり、ダウンロードのリンクが表示され、
> > > > > > > そこをもう一度、クリックしたら、
> > > > > > > やっとダウンロードできます。
> > > > > > >
> > > > > > > 問題は、ウイルススキャンの時間が、
> > > > > > > ファイルのサイズによって違い、
> > > > > > > 画面が変更する時間も長かったりするので、
> > > > > > > エラーになってしまいます。
> > > > > > >
> > > > > > > このような場合は、
> > > > > > > 例えばどのような場合でも1分停止してから
> > > > > > > リンクをクリック、
> > > > > > > というような方法しかないでしょうか?
> > > > > > >
> > > > > > > 同じような経験された方がいらっしゃいましたら
> > > > > > > 教えて頂けると幸いです。

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com