Excel VBA 调用 Internet Explorer 可以在 Windows 11 中运行吗?

Excel VBA 调用 Internet Explorer 可以在 Windows 11 中运行吗?

我读到 Windows 11 停止了对 IE-11 的支持。我在一些 Excel VBA 项目中有调用 objIE 对象(用于打开 IE)的报告创建代码。这些代码还能用吗,还是我需要修改代码?

一旦我在 sHTML 中创建了必要的文本,就会调用此方法。Windows 11 中可能发生什么情况?

Private Sub showReport()
Dim objIE           As Object
Dim i               As Long
    Err.Clear
    sReportPath = CreateFolder(ActiveWorkbook.Path, "Reports")

    On Error GoTo Error_Handler
    Set objIE = CreateObject("InternetExplorer.Application")
    With objIE
        .navigate "about:blank"
        Do While .Busy: DoEvents: Loop
        Do While .ReadyState <> READYSTATE_COMPLETE: DoEvents: Loop
        .Document.Write sHTML
        On Error Resume Next
        If (tRptOpt And RptOptPreview) Then
            .Visible = True
        End If
    End With

    Set objIE = Nothing
    sReportFilename = vbNullString
    Exit Sub
End Sub

答案1

Windows 11 将在其“IE 模式”中支持 Internet Explorer 11,该模式中几乎所有 IE 功能均可用。

这包括:

  • 所有文档模式和企业模式
  • ActiveX 控件(例如 Java 或 Silverlight)。注意:Silverlight 将于 2021 年 10 月 12 日终止支持。
  • 浏览器辅助对象
  • 影响安全区域设置和保护模式的 Internet Explorer 设置和组策略
  • 使用 IEChooser 启动时,IE 的 F12 开发工具
  • Microsoft Edge 扩展(不支持直接与 IE 页面内容交互的扩展。)

更多信息请参阅:

答案2

Internet Explorer 在 Windows 10 中基本消失(> 95%),在 Windows 11 中完全消失(这里有两台 Windows 11 Pro 机器)。

因此,您需要重写代码以使用 Chromium Edge 并消除对 IE 的所有依赖。

这是一篇合理的支持文章。

IE 11 从 Windows 11 中消失

微软昨天透露,Internet Explorer 将在 Windows 11 中被“禁用”。起初,我担心这意味着 Internet Explorer 可能会在 2022 年 6 月 15 日被彻底淘汰之前继续存在,但它实际上已经从 Windows 11 中完全消失了。“Internet Explorer 11 桌面应用程序将不会在 Windows 11 上使用。Microsoft Edge 是 Windows 11 的默认浏览器,”微软发言人向 The Verge 解释道。“MSHTML 引擎是 Windows 11 操作系统的一部分,用于为 Microsoft Edge 中的 IE 模式提供支持。”

正如文章所指出的,Chromium Edge 将支持大部分 IE 11 要求,但最好还是重新设计 VBA 以完全适应 Edge。

相关内容