こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2003VBAからIE64bitを制御

Excel2003 VBAから、
CreateObject("InternetExplorer.application")でIEを起動できますが、
XP64bitの場合、IE32bitが起動します。

XP64bitには、IEが32bit版と64bit版が入っています。

Excel2003 VBAから、IE64bitを起動できるのでしょうか?

Excel2003 VBAのVB6.0は32bitなので、
そもそも64bitソフトを制御できないものなのでしょうか?

IE64bitを起動させるだけなら、Shellとフルパスでできますが、
objIEにオブジェクトとして格納できないので、制御ができません。

ヒントでも構いませんので、ご教授いただけると幸いです。

投稿日時 - 2010-12-19 19:48:59

QNo.6394848

困ってます

質問者が選んだベストアンサー

>Excel2003 VBAのVB6.0は32bitなので、そもそも64bitソフトを制御できないものなのでしょうか?

質問文としては、OSが、64bit上動かそうとしているのだろうかとは思いますが、こちらは、そういう環境にありませんので、よく分かりません。両方ともIEインスタンスを生成出来るとは思えません。

VBAからでは、IEは、参照設定の中の、Microsoft Internet Controls で、タイプライブラリの、ieframe.dll を参照しています。これは、オートメーション・オブジェクトを呼び出せることを意味します。また、呼び出せないライブラリの場合は、クラスIDから、インスタンスを作れば呼び出せるはずです。

たぶん、OLE Viewer は、フリーツールとしてインターネットでも手に入るとは思いますが、それで、64bit のMicrosoft Internet Controlsのタイプライブラリが見つかれば、オートメーション・オブジェクトが生成することは可能だとは思います。

クラスIDはレジストリから探しますから、CreateObject("New:"&クラスID) ...クラスID(String型で{}のない部分)ただし、探してみなければ分かりません。

しかし、もし、OSの32bit から、64bitのIEを呼び出すという意味だとすれば、レジストリ自体が別ですから、期待出来ないと思います。

投稿日時 - 2010-12-20 19:48:27

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問