当前位置: 首页 > news >正文

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版本。

示例代码:

Public Function GetEncodedCookieFromWebBrowser(serverIP As String) As StringDim url As StringDim encodedCookie As StringDim isValidIPFormat As BooleanDim jsResult As StringDim path As StringencodedCookie = ""url = "https://" + serverIP + "/proj/demo/" + Guid()isValidIPFormat = IsValidIP(serverIP)path = Application.ActiveWorkbook.path & "\"ChDir pathIf isValidIPFormat = False ThenIf VBA_StartEdge() <> 0 Then Exit FunctionVBA_Navigate url' Wait for the page to fully loadDo While Not PageLoadedSleep 500 ' Sleep for 500 milliseconds to allow user interactionDoEventsLoop' Wait until the cookie contains 'token%22'Do Until InStr(jsResult, "token%22") > 0If VBA_RunJavascript("document.cookie", jsResult) <> 0 ThenVBA_StopEdge TrueExit FunctionEnd IfSleep 500 ' Sleep for 500 milliseconds to allow user interactionDoEventsLoopencodedCookie = jsResultVBA_StopEdge TrueEnd IfGetEncodedCookieFromWebBrowser = encodedCookie
End Function

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【工具使用】EMACS的verilog_mode脚本
  • 告别自动激活:掌握如何在Conda中禁用Base环境
  • androidTest 与 Test详解
  • 题解|2024暑期杭电多校01
  • python环境搭建步骤记录
  • C语言 | Leetcode C语言题解之第237题删除链表中的节点
  • B树(B-Tree)数据结构
  • 实战:shell脚本练习
  • 微信小程序 button样式设置为图片的方法
  • 设计模式【点滴积累】
  • Spring Boot2(Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递)
  • java设计模式:03-06-享元模式
  • 视频监控平台LntonCVS视频融合共享平台智慧安防视频监控汇聚应用方案
  • 最新缺失msvcp140.dll的多种解决方法,有效解决电脑dll问题
  • 通信协议_C#实现CAN通信
  • JAVA_NIO系列——Channel和Buffer详解
  • Linux Process Manage
  • PAT A1050
  • SAP云平台里Global Account和Sub Account的关系
  • Vim 折腾记
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • Yeoman_Bower_Grunt
  • 日剧·日综资源集合(建议收藏)
  • 使用docker-compose进行多节点部署
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 一起参Ember.js讨论、问答社区。
  • - 转 Ext2.0 form使用实例
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 我们雇佣了一只大猴子...
  • ​2020 年大前端技术趋势解读
  • (4)logging(日志模块)
  • (c语言)strcpy函数用法
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (function(){})()的分步解析
  • (Java数据结构)ArrayList
  • (k8s)kubernetes 部署Promehteus学习之路
  • (搬运以学习)flask 上下文的实现
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (六)激光线扫描-三维重建
  • (排序详解之 堆排序)
  • (一一四)第九章编程练习
  • (转)用.Net的File控件上传文件的解决方案
  • (转载)OpenStack Hacker养成指南
  • *** 2003
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .Mobi域名介绍
  • .net core 控制台应用程序读取配置文件app.config
  • .net core 连接数据库,通过数据库生成Modell
  • .NET 通过系统影子账户实现权限维持
  • .netcore如何运行环境安装到Linux服务器
  • .NET分布式缓存Memcached从入门到实战
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • []新浪博客如何插入代码(其他博客应该也可以)