- Excel VBA 質問スレ Part60
112 :デフォルトの名無しさん[]:2019/03/22(金) 14:07:54.62 ID:DJ7JSKt5 - こっちに移動しろ
https://mevius.5ch.net/test/read.cgi/tech/1432173164/ 日本語は正確に
|
- Excel VBA 質問スレ Part60
114 :デフォルトの名無しさん[]:2019/03/22(金) 17:56:53.75 ID:DJ7JSKt5 - 会社でブラウザの検索結果のページで
いっぱいURLのリンク先が表示されるのですが そのたくさんのURLのそれぞれを開いたページ(毎回違うけど50ページくらいある)のデータを取得するVBAのコードを考えています。 IEの定番のCreateObject("InternetExplorer.Application")とDOMツリーの方法で実現できてはいるのですが 1つ1つページを開いて取得して閉じる、という作業がネットワークの遅さで異常に時間がかかります。 この複数のページを同時で取得する方法ってないでしょうか?よく知らないけどJavaでいうスレッドみたいな?
|
- VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
741 :デフォルトの名無しさん[]:2019/03/22(金) 17:57:33.45 ID:DJ7JSKt5 - 会社でブラウザの検索結果のページで
いっぱいURLのリンク先が表示されるのですが そのたくさんのURLのそれぞれを開いたページ(毎回違うけど50ページくらいある)のデータを取得するVBAのコードを考えています。 IEの定番のCreateObject("InternetExplorer.Application")とDOMツリーの方法で実現できてはいるのですが 1つ1つページを開いて取得して閉じる、という作業がネットワークの遅さで異常に時間がかかります。 この複数のページを同時で取得する方法ってないでしょうか?よく知らないけどJavaでいうスレッドみたいな?
|
- Excel VBA 質問スレ Part60
119 :デフォルトの名無しさん[]:2019/03/22(金) 19:06:06.24 ID:DJ7JSKt5 - >>116
そのCreateObject("MSXML2.XMLHTTP")はなんでしょうか? str2にはたしかに入ってますが"https://www.yahoo.co.jp/"にしたら空欄になってしまいます。 HTMLページは膨大なソースなのでDOMツリーで必要なものだけを取り出したいのですが、それはできますか? >>117 PHPって知らないのですが簡単に学習できるのですか? >>118 VBAでイベントってどうやって受けるのですか
|
- VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
743 :デフォルトの名無しさん[]:2019/03/22(金) 19:06:27.17 ID:DJ7JSKt5 - >>742
そりゃないよ、かあちゃん
|
- VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
745 :デフォルトの名無しさん[]:2019/03/22(金) 19:35:54.55 ID:DJ7JSKt5 - >>744
ありがとうございます。 しかし、もし50個URLがあれば50個新しくExcel自体を起動しないといけないのですか? そんなことしたら激重になってしまうように思うのですが。
|
- VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
756 :デフォルトの名無しさん[]:2019/03/22(金) 22:38:21.07 ID:DJ7JSKt5 - >>750
? >>751 その具体的な方法をコードで例示する形で教えていただきたいのでござるよ。 いまだと Do While readyState < 4 Do Events Loop の待ちを50個のURLで1つ1つ順番にやってて 1つのURLを読んでデータ取って閉じる、というのをやるのが社内ネットワークが遅いため(データベースからの読み込みも含まれるからの)1つあたり1分近くかかってる。 だから異常に時間がかかる。 一気に全部同時にやれないかなと。
|
- Excel VBA 質問スレ Part60
133 :デフォルトの名無しさん[]:2019/03/22(金) 22:41:13.31 ID:DJ7JSKt5 - レスありがとうございます。
>>122 なるほどそうですかありがとうございます。 いまの直近の問題が解決したらあとで勉強してみます。 >>124-125, >>129 DOMができたとして 50個くらいある複数のURLの1つ1つに Do While httpReq.readyState < 4 DoEvents Loop で時間待ちするのが問題なんです。 1つあたり1分近くかかるから。 一気に全部同時にやれないかなと。
|