使用ppDisp控制userform中的弹出窗口

时间:2012-10-05 03:24:50

标签: vba vbscript

我已经使用VBA / Excel中的Web浏览器控件设置了userform1来浏览Intranet。我遇到的问题是,当用户通过Web浏览器控件启动弹出窗口时,默认情况下,该弹出窗口在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上,当我暂停时,似乎没有正在通过网页正确地转移到userform2。我不确定我的逻辑错在哪里,任何建议都会有所帮助。大多数指南都显示:

Set ppDisp = frm.WebBrowser1.object

但我无法在对象浏览器中找到任何地方,并且执行.object炸弹,因为错误438:对象不支持此属性或方法。但到目前为止我能找到的所有东西都显示出使用.object。

1 个答案:

答案 0 :(得分:0)

对于读这篇文章的人来说,VBA不会像上面所说的那样支持这种方法。它在.net中完美运行,我会假设,vb6