更改 VBA Excel for Internet Explorer 中的Feature_Browser_Emulation

Change Feature_Browser_Emulation in VBA Excel for Internet Explorer

提问人:D.P. OL' RACE 提问时间:12/24/2021 最后编辑:D.P. OL' RACE 更新时间:12/24/2021 访问量:534

问:

我一直在谷歌上搜索如何使用 VBA 为我的 Internet Explorer 设置Feature_Browser_Emulation,但大多数情况下,我发现 VB.NET 和 VBA 以外的其他语言。谁能帮我使用VBA执行此操作的语法?提前致谢。这是关于自动化谷歌地图的,谷歌的建议是Feature_Browser_Emulation这样做,但大多数代码不在VBA中。我只想删除 Google 的警告消息“Google Maps API 不支持此浏览器”——类似的东西。

Excel VBA Internet-Explorer 注册表编辑器

评论

0赞 QHarr 12/24/2021
为什么您希望以编程方式更改注册表,而不是在会话级别使用当前 IE 实例设置仿真模式?
0赞 D.P. OL' RACE 12/24/2021
@QHarr因为该应用程序要在具有不同IE版本的不同计算机上运行...根据我的理解,这是我必须采取的最后手段,因为元标记方法已经不起作用。对不起,注册表方法和会话级别 1 有什么区别?你能分享一下吗?
0赞 QHarr 12/24/2021
你是在追求类似的东西吗?stackoverflow.com/questions/49501406/......
0赞 D.P. OL' RACE 12/24/2021
@Qharr 感谢您的链接。我会尝试测试一下。这更接近我正在寻找的东西,也许这可能是它,谁知道呢?如果它对我有用,我会回复你。
1赞 D.P. OL' RACE 12/24/2021
@Yu 周 谢谢你和Qharr..正是 Qharr 的链接将我引向了 VBA 的 RegWrite 语法。无论如何,我需要的不仅仅是IE自动化,因为我必须遵循现有的类模块和vbscript来自动化Google Maps。但现在这没关系。

答:

1赞 D.P. OL' RACE 12/24/2021 #1

至少对于我的情况,我或多或少已经找到了答案。根据下面的链接,模拟 Edge 的值只是 0(ZERO) 或任何与旧版本 IE 无关的值。至少它对我有用。所以我已经成功删除了错误消息“Google Maps API不支持此浏览器”。但是,必须关闭并重新打开 Excel 才能正常工作。

https://www.devhut.net/everything-you-never-wanted-to-know-about-the-access-webbrowser-control/

    Dim obj_Shell as Object
    Set obj_Shell = CreateObject("wscript.shell")
    
    obj_Shell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet 
    Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\EXCEL.EXE", 0, 
    "REG_DWORD"

评论

0赞 Yu Zhou 12/27/2021
感谢您发布此问题的解决方案。您可以将答案标记为已接受的答案。它可以帮助其他社区成员在未来解决类似的问题。感谢您的理解。