我已经设置了一个 userform1 来使用 VBA/Excel 中的 Web 浏览器控件浏览 Intranet。我遇到的问题是,当用户通过 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 上,并且似乎没有积极地将网页正确传输到 userform2。我不确定我的逻辑在哪里错了,任何建议都会有所帮助。大多数指南显示:
Set ppDisp = frm.WebBrowser1.object
但我无法在任何地方的对象浏览器中找到它,并且做 .object 炸弹,因为错误 438:对象不支持此属性或方法。但到目前为止,我能找到的所有内容都显示使用 .object。