ウィルスソフトで、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分停止してから > > > > > > > リンクをクリック、 > > > > > > > というような方法しかないでしょうか? > > > > > > > > > > > > > > 同じような経験された方がいらっしゃいましたら > > > > > > > 教えて頂けると幸いです。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。