我有一个带有宏的工作簿来生成HTML文件,并将其显示在嵌入其中一个工作表的Web浏览器中。在excel 2016中测试这个宏之后,我遇到了这里描述的activeX控件的问题:How to make Microsoft Web Browser object work in Excel 2016
以下是在网络浏览器中加载页面的脚本:
Sub LoadHTML()
Set IE = Sheets("Report").WebBrowser1
IE.Navigate2 (myFile)
End Sub
但是如果activeX控件不起作用,则此脚本会返回错误。 我找到了解决这个问题的方法:
Sub LoadHTML()
On Error GoTo OpenInIE
Set IE = Sheets("Report").WebBrowser1
IE.Navigate2 (myFile)
Exit Sub
OpenInIE:
With New InternetExplorer
.Visible = True
.Navigate myFile
End With
End Sub
有没有办法检查activeX控件是否工作而不会产生错误?
而且,BTW,如果不修复activeX控件并且需要在外部浏览器中打开HTML文件,是否可以在默认系统浏览器而不是IE中打开文件?
答案 0 :(得分:0)
找到了检查IE activex控件是否存在的方法
Sub checkIE()
Dim aaa As Shape
For Each aaa In Sheets("Report").Shapes
Debug.Print aaa.OLEFormat.progID
If aaa.OLEFormat.progID = "Shell.Explorer.2" Then MsgBox "we have IE"
Next aaa
End Sub