質問: true '画面描画を有効 ************************************************* 何卒宜しくお願い致します。
回答: こんにちは。 >実行時エラー’-2146697208(800c0008)’ #2のアップの後で、考えてみましたが、どうやら別の問題だったようです。 「オートメーションエラーです」 https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775145%28v%3dvs.85%29 私は対処の仕方が分かりません。検索してみましたが、明確な解決方法は見当たりませんでした。 ただ、オートメーションエラーなら、#2のコードも、元の質問のコードも無理っぽいですから、事前に分かるように書かなくてはなりませんね。それは、ひとまず後にして、確認してください。 1.ファイルの確認 "msxml2.xmlhttp" "winhttp.winhttprequest.5.1" これらがインストールされて、register で登録されているか、疑問を持ちました。 まず、ファイルはありますか? msxml2.xmlhttp c:\windows\system32\msxml3.dll winhttp.winhttprequest.5.1 c:\windows\system32\winhttpcom.dll 次に、vbeditor のツール-参照設定で、microsoft winhttp services, version 5.1 microsoft xml, v3.0は表示されているでしょうか? 別にチェックを入れる必要はありません。[添付画像] (ない場合に、手に入れる方法はありますが、セキュリティが効いていないから、かなりリスクが大きいです。) 2.コードの書き換え ダメ元ですが、ユーザー定義関数を書き加え、#2のコードまたは、元の質問にあったコードのオブジェクトを生成する部分を入れ替えてください。 もともと、実行時エラーですから、このコードは期待値は低いです。 もし、これでダメなら、もうieオブジェクトで行うか、思い切って、dllを再度インストールするかだと思います。os をxpで使おうとするのには無理があるのかもしれません。 '// sub getrage2() dim objhttp as object '*変数の宣言を一つ上部に書き加える '略 for i = 0 to ubound(arynames) url = urlbase & arynames(i) & "/ticker" ''with createobject("msxml2.xmlhttp" ''ここを以下の2行に書き換えます。 set objhttp = createhttprequest() '* with objhttp '* '略 endofloop: end with set objhttp = nothing '*書き加える next end sub '//標準モジュール function createhttprequest() as object dim progids as variant dim obj as object dim i as long set obj = nothing progids = array("", _ "winhttp.winhttprequest.5", _ "winhttp.winhttprequest", _ "msxml2.serverxmlhttp.6.0", _ "msxml2.serverxmlhttp.5.0", _ "msxml2.serverxmlhttp.4.0", _ "msxml2.serverxmlhttp.3.0", _ "msxml2.serverxmlhttp", _ "microsoft.serverxmlhttp", _ "msxml2.xmlhttp.6.0", _ "msxml2.xmlhttp.5.0", _ "msxml2.xmlhttp.4.0", _ "msxml2.xmlhttp.3.0", _ "msxml2.xmlhttp", _ "microsoft.xmlhttp") on error resume next for i = 0 to ubound(progids) if progids(i) <> "" then set obj = createobject(trim(progids(i))) end if if not obj is nothing then exit for next on error goto 0 set createhttprequest = obj end function