タイトル : Re: SHDocVw.InternetExplorer の Visible で エラー 投稿日 : 2017/08/08(Tue) 11:05 投稿者 : 魔界の仮面弁士
> 型 'System.Runtime.InteropServices.COMException' のハンドルされていない例外が mscorlib.dll で発生しました > 追加情報:メンバーが見つかりません。 (HRESULT からの例外:0x80020003 (DISP_E_MEMBERNOTFOUND)) 当方では再現しなかったので、なんらかの環境依存の問題があるのかもしれませんが 具体的な情報は持ち合わせていません。 Windows Update を行ってみても同じでしょうか? [Internet Explorer 11 の "DISP_E_MEMBERNOTFOUND" エラーとプロキシ認証の問題] https://support.microsoft.com/ja-jp/help/3119137/ ただ、一般的には Dim objIE As New SHDocVw.InternetExplorer() objIE.Visible = True もしくは Dim objIE As Object = CreateObject("InternetExplorer.Application") objIE.Visible = True あるいは Private WithEvents objIE As SHDocVw.InternetExplorer objIE = New SHDocVw.InternetExplorer() と書くべきかと思います。 アーリーバインドとレイトバインドの両方を使うケースでも、 Dim objIE1 = CreateObject("InternetExplorer.Application") Dim objIE2 = DirectCast(objIE1, SHDocVw.InternetExplorer) もしくは、 Dim objIE3 As New SHDocVw.InternetExplorer() Dim objIE4 As Object = CObj(objIE3) でしょう。 > Dim objIE As SHDocVw.InternetExplorer = CType(CreateObject("InternetExplorer.Application"), SHDocVw.InternetExplorer) > objIE.Visible = True ' ----- ※1 このケースでは、InternetExplorer インターフェイス のコクラスである InternetExplorerClass クラスの Visible プロパティへのアーリーバインドでの書き込みとなります。 > Dim objIE As Object = CType(CreateObject("InternetExplorer.Application"), SHDocVw.InternetExplorer) > objIE.Visible = True 上記の CType に意味があるのかは疑問ですが、この場合はレイトバインドになりますので、 先のケースとは手続きとしては別ですね。 とはいえデュアルインターフェイスの場合、本来は同じ結果になることが期待されるのですが…。 |