[[20201113151926]] 『VBAでWebのスクレイピング』(ヤマダ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAでWebのスクレイピング』(ヤマダ)

VBAでWebのスクレイピングを行っています。
まず Windows 8.1 Excel32ビット環境でプログラム作成し正常に動作することを確認しました(office365)
続いて、別のPC Windows 10.0 Excel32ビット(Excel219)で動作させたところ

実行時エラー 2125463506(815002e)
このエラーコードに関連付けられたテキストが見つかりませんでした

のエラーが発生し
場所は
Set objIE = CreateObject("InternetExplorer.Application")
であることがわかりました。

何が原因か教えてください(Office365とExcel2019の違い?)

必要があればプログラムを公開可能です(長い)

< 使用 Excel:Excel2019、使用 OS:Windows10 >


直接の回答ではなく、確認です。

それぞれのIEのバージョンは提示できますか?
また、"実行時エラー 2125463506(815002e)"でネット検索してヒットする記事に
なにか心当たりはありますか?

(γ) 2020/11/13(金) 16:09


windows8.1 のPCでは IE11 (11.0.9600.19867)
Windows10のPCでは IE11 (11.1139.18362.0)
です。同じにしないとダメでしょうか
因みに、どちらのOfficeも365の32ビットにしましたが結果は同じです

ある方からVBE で「事前バインディング」の設定になっている
との指摘がありましたが何のことかさっぱりわかりません

事前バインディング
「ツール」→「参照設定」で
「Microsoft Scripting Runtime」にチェックを付ける。
  →チェックしても同じ
Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")

実行時バインディング
Dim objIE As Object
Set objIE = CreateObject("Scripting.FileSystemObject")

でしょうか。

(ヤマダ) 2020/11/13(金) 17:04


 | windows8.1 のPCでは IE11 (11.0.9600.19867)
 | Windows10のPCでは IE11 (11.1139.18362.0)
 | です。同じにしないとダメでしょうか
 そのようなことはありません。話の前提を確認しただけです。
 極端な例ですが、色々議論したあとで、Edgeでしたなどということは避けたいのです。
 色々な質問者さんがおられるので、念のため確認するのも大切なプロセスなのです。

 | ある方からVBE で「事前バインディング」の設定になっている
 | との指摘がありましたが何のことかさっぱりわかりません
 | 事前バインディング
 | 「ツール」→「参照設定」で
 | 「Microsoft Scripting Runtime」にチェックを付ける。
 |   →チェックしても同じ

 こちらのやりとりでしょう?
 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10234098355
 出典を示してください。
 他人のものを自分が聞いたかのように言って、
 情報を増幅していってもしかたがないですよ。

 そもそも、「Microsoft Scripting Runtime」はIEと関係ないですし、意味不明です。
 あんまり意味があるやりとりとも思えません。

 こちらの回答のほうが実態に近いという気がします。
 https://teratail.com/questions/246136

 結論としては、私にはそれだけの情報ではわかりません、ということです。以上です。
(γ) 2020/11/13(金) 20:40

 読み飛ばされている可能性が大きいので、引用しておきます。

 | coco_bauerさんの回答にあるように、IEオブジェクトはQuitしてもプロセスが
 | 残っていることがあります。このプロセスが削除される前に再度オブジェクト
 | をCreateしようとすると、QuitしたIEを再使用しようとして使用できずエラー
 | となるようです。
 | 
 | おそらく削除はVBAの動作と非同期に行なわれていると思いますので、Waitも確
 | 実とは言えません。
 | 
 | 対策としてプロセスを探して削除するのが正道だとは思いますが
 | 簡単には…
 | 
 | (a)作成したオブジェクトを使い回す(同じオブジェクトでNavigateを繰り返す)
 | または
 | (b)使う分だけのIEオブジェクトを最初にCreateする
 | 
 | で回避できるかと思います。
上記の(a)でたぶん解決すると思いますが。
(γ) 2020/11/14(土) 09:55

 あちらのサイトでは基本方針でマルチポストは禁止
 されてますので、あちらは解決済みにしましょう。

 ※あちらのサイトの基本方針のリンクはきれてます
 ので参照不可です。
(通りすがり) 2020/11/14(土) 17:16

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.