首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Excel表单中嵌入浏览器?

如何在Excel表单中嵌入浏览器?
EN

Stack Overflow用户
提问于 2018-07-24 14:30:07
回答 1查看 5.2K关注 0票数 1

过去,我在许多VB6和Excel表单中使用过Microsoft控件。我需要再做一次,但我想不出怎么做。

我尝试打开一个旧的VB6项目,并收到了以下错误消息:

代码语言:javascript
复制
Line 17: Class SHDocVwCtl.WebBrowser of control WebBrowser was not a loaded control class.

我尝试将对Microsoft Web Browser的引用添加到一个新的VBA项目,但它并不存在。

我尝试按照建议的msi.dll添加对这里的引用,但没有起到作用。

我试过从开发者丝带-插入更多的控件-微软的网络浏览器,它确实存在,但它说Cannot insert object

我尝试使用描述为Shell.Explorer.2这里对象,但是我得到了一个错误:

代码语言:javascript
复制
Sheet1.OLEObjects.Add ClassType:="Shell.Explorer.2", Left:=147, Top:=60.75, Width:=400, Height:=400

Run-time error '1004': 
Cannot insert object.

唯一可行的方法是打开IE窗口,但我需要将浏览器嵌入到表单中,因为我需要添加一些自定义按钮:

代码语言:javascript
复制
Set IE = CreateObject("InternetExplorer.Application") 
IE.Visible = True
EN

回答 1

Stack Overflow用户

发布于 2018-07-24 15:36:45

我无法像以前一样将好的旧Web浏览器控件显示在VBA控件工具箱中,但是我能够从代码中动态地将它插入表单中。所以我不能把这个小地球仪拉成一个形状,但这不是问题。

一些注释提到更改注册表中的值。这是在工作表中插入嵌入式浏览器所必需的,但对窗体没有任何影响。

添加对(ieframe.dll)的引用就足够了,然后在表单中使用以下代码:

代码语言:javascript
复制
Option Explicit

Private WithEvents WB As WebBrowser

Private Sub UserForm_Activate()
  Set WB = Me.Controls.Add("Shell.Explorer.2")
  WB.Navigate "http://google.com"
End Sub

Private Sub WB_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
  Debug.Print "WB_NavigateComplete2"
End Sub

编辑

@VictorK在一条评论中提醒我,我需要右键单击工具箱来添加控件。我确实记得在添加引用后在那里添加的控件,但我不记得(也不认为)右键单击并添加控件。

所以..。我所需要做的就是添加一个对ieframe.dll的引用,而不是Microsoft,因为Microsoft没有出现在列表中。其他一切似乎都很好。

我仍然不知道为什么旧的VB6应用程序不加载,但在这一点上,我真的不在乎。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51501213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档