VBA中如何使用Edge内核Browser?

问题:

在微软宣布停止对IE的支持后,许多使用VBA中Web Browser的用户遇到了困境,因为Web Browser使用的IE内核。然而微软并没有给出支持Edge的新版Web Browser,网上许多第三方的库也不够完善。

解决方案:

经过调研,libEdge可以较好的和VBA集成,实现在Excel中打开Browser,甚至能够通过执行js代码,获取web页面的信息。

https://github.com/bubdm/libEdge/tree/main/VBA_libEdge

注意:

项目需要WebView2Loader.dll和LibEdge.dll两个库,区分x86和x64版本。

示例代码:

vba 复制代码
Public Function GetEncodedCookieFromWebBrowser(serverIP As String) As String
    Dim url As String
    Dim encodedCookie As String
    Dim isValidIPFormat As Boolean
    Dim jsResult As String
    Dim path As String

    encodedCookie = ""
    url = "https://" + serverIP + "/proj/demo/" + Guid()
    isValidIPFormat = IsValidIP(serverIP)
    path = Application.ActiveWorkbook.path & "\"
    ChDir path

    If isValidIPFormat = False Then
        If VBA_StartEdge() <> 0 Then Exit Function

        VBA_Navigate url

        ' Wait for the page to fully load
        Do While Not PageLoaded
            Sleep 500 ' Sleep for 500 milliseconds to allow user interaction
            DoEvents
        Loop

        ' Wait until the cookie contains 'token%22'
        Do Until InStr(jsResult, "token%22") > 0
            If VBA_RunJavascript("document.cookie", jsResult) <> 0 Then
                VBA_StopEdge True
                Exit Function
            End If
            Sleep 500 ' Sleep for 500 milliseconds to allow user interaction
            DoEvents
        Loop
        encodedCookie = jsResult
        VBA_StopEdge True
    End If
    GetEncodedCookieFromWebBrowser = encodedCookie
End Function
相关推荐
VBA633712 天前
AI批量PDF数据抓取工具
vba
Access开发易登软件15 天前
我全新开发了一套 Access 通用 Excel 导入工具,现在开源了
数据库·microsoft·excel·mfc·vba·access·access开发
VBA633715 天前
VBA之Word应用第五章第九节 Range对象的方法(三)
vba
wuchunyu00219 天前
VBA 行内容相同时字体变灰
vba
VBA633723 天前
VBA 64位API声明语句第025讲
vba
Access开发易登软件25 天前
Access 导入 Markdown 表格:把文档里的数据写进表
前端·html·vba·markdown·access开发
zhongwei2281 个月前
vba将一个文件夹的内容复制到另外一个文件夹的函数,若存在则是否覆盖的参数。复制前检查源文件夹是否存在。若目标文件夹不存在,则新建
前端·vba
Access开发易登软件1 个月前
Access 复杂业务计算,SQL 写在 VBA 还是存储过程?
microsoft·vba·access·access开发
SunnyDays10112 个月前
如何使用 Python 添加和编辑 Excel VBA 宏(无需安装 Excel)
开发语言·python·excel·vba
taller_20002 个月前
【005】PiE 与传统 VBA 的核心区别
python·vba·pie·py