VBA/ExcelのWebブラウザコントロールを使用してイントラネットを参照するようにuserform1を設定しました。私が抱えている問題は、ユーザーがWebブラウザーコントロールを介してポップアップを開始すると、そのポップアップはデフォルトでIEで実行され、Webブラウザーコントロールの範囲外であるため、ポップアップに正しいセッションデータが含まれないことです。このポップアップは、ドロップダウンボックスのonchangeコマンドから開始され、ポップアップからの入力をページのWebフォームに挿入し直します。以下のコードは、ポップアップイベントをインターセプトし、userform2に転送することで処理できるようにします。
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim frm As UserForm2
'Dim ppDisp As Object
Set frm = New UserForm2
Set ppDisp = frm.WebBrowser1.Application
frm.Show
End Sub
問題は、一時停止すると、frm.showでスタックし、Webページを介してuserform2に正しく転送されていないように見えることです。ここで私の論理がどこで間違っているのかわかりません。アドバイスがあれば役に立ちます。ほとんどのガイドが示しています:
Set ppDisp = frm.WebBrowser1.object
しかし、オブジェクトブラウザのどこにもそれを見つけることができず、エラー438として.objectが爆破されます:オブジェクトはこのプロパティまたはメソッドをサポートしていません。しかし、これまでに見つけたものはすべて、.objectを使用していることを示しています。