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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/873513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git删除本地远程分支

gitlab删除远程分支 要删除GitLab上的远程分支&#xff0c;你可以使用Git命令行工具。以下是删除远程分支的步骤和示例代码&#xff1a; 首先&#xff0c;确保你已经在本地删除了分支。删除本地分支的命令是&#xff1a; git branch -d <branch_name> 如果分支没有被合…

网络爬虫入门(学习笔记)

爬取网页源代码 抓取百度首页的HTML源代码&#xff0c;并将其保存到一个名为baidu.html的文件中。打开这个文件&#xff0c;可以看到一个和百度首页一模一样的页面。 from urllib.request import urlopen# 发送请求并获取响应 response urlopen("http://www.baidu.com&q…

基于 Gunicorn、Flask 和 Docker 的 Web 应用开发

基于 Gunicorn、Flask 和 Docker 的 Web 应用开发教程 欢迎语 欢迎来到基于 Gunicorn、Flask 和 Docker 的 Web 应用开发教程&#xff0c;让我们开始构建你的微服务架构&#xff01; 第一部分&#xff1a;Docker 和 Flask 简介 1.1 Docker 基本概念 Docker 是一个开源的应…

Go操作Redis详解

文章目录 Go操作Redis详解来源介绍Redis支持的数据结构Redis应用场景Redis与Memcached比较准备Redis环境go-redis库 安装连接普通连接连接Redis哨兵模式连接Redis集群基本使用set/get示例zset示例Pipeline事务WatchGo操作Redis详解 来源 https://www.liwenzhou.com/posts/Go/…

Linux中Vim常用指令的笔记

在Linux中&#xff0c;Vim是一个非常强大的文本编辑器&#xff0c;广泛应用于代码编写、文档编辑等多种场景。Vim提供了丰富的指令集&#xff0c;以下是一些常用的Vim指令笔记&#xff0c;涵盖了Vim的三种主要模式&#xff1a;命令模式&#xff08;Normal模式&#xff09;、编辑…

从零开始!Jupyter Notebook 安装教程

一、引言 Jupyter Notebook 是一款非常实用的交互式编程环境&#xff0c;广泛应用于数据分析、机器学习、教学等领域。在安装 Jupyter Notebook 之前&#xff0c;需要确保计算机已安装 Python &#xff0c;下面将介绍 Python 和 Jupyter Notebook 的安装步骤。 二、Python 安…

jenkins+gitlab+harbor+maven自动化容器部署

一、gitlab安装配置 1.1、安装 由于比较懒啊&#xff01;这里就直接使用docker安装了啊&#xff01; 没事先更新一个yum源&#xff1a;yum update -y 整一个gitlab镜像&#xff1a;docker pull gitlab/gitlab-ce 运行一个gitlab容器&#xff1a;docker run -d -p 8443:443 -p…

函数定义、合约与面向对象(以太坊solidity合约)

函数定义、合约与面向对象&#xff08;以太坊solidity合约&#xff09; 1-函数定义、构造与多态2-事件日志3-面向对象特征 1-函数定义、构造与多态 创建合约就是创建类&#xff0c;部署合约就是实例化 合约的方法还支持多态 还能使用第三方的库进行开发 整个合约部署后&…

【第4章】Spring Cloud之Nacos单机模式支持mysql

文章目录 前言一、初始化1. 初始化数据库2. 修改配置文件 二、效果1. 重新启动2. 新增用户 总结 前言 在0.7版本之前&#xff0c;在单机模式时nacos使用嵌入式数据库实现数据的存储&#xff0c;不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力&#xff0c;具…

极狐GitLab 如何管理 PostgreSQL 扩展?

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署…

windows上安装Apache

安装前须知&#xff1a; 下载并安装&#xff0c;如未完成&#xff0c;请访问下载页面。安装Apache前需要安装Visual C Redistributable for Visual Studio 2015-2022 x64。 解压与配置&#xff1a; 将Apache24文件夹解压至C:\Apache24&#xff08;这是配置中的ServerRoot&am…

【devops】gitlab 实现cicd 实践

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

C#虚方法和抽象方法

在 C# 中&#xff0c;虚方法&#xff08;virtual method&#xff09;和抽象方法&#xff08;abstract method&#xff09;都是用于支持面向对象编程中的多态性&#xff0c;但它们之间有一些关键的区别。 虚方法&#xff08;Virtual Method&#xff09; 定义&#xff1a;虚方法…

HarmonyOS页面跳转和页面间传值

IndexPage 定义一个参数类 export class RouterParams {src:stringconstructor(str:string) {this.src str} }点击按钮后&#xff0c;将创建的RouterParams 对象传递到第二页 Button($r(app.string.next)).fontSize(16).width(300).height(50).backgroundColor($r(app.color.…

Android 视频音量图标

attrs.xml <?xml version"1.0" encoding"utf-8"?> <resources><!--图标颜色--><attr name"ijkSolid" format"color|reference" /><!--喇叭底座宽度--><attr name"ijkCornerWidth" form…

实战:shell脚本练习

高效编写Bash脚本的技巧 总结了10个实用技巧&#xff0c;帮助提高脚本的效率和可靠性&#xff0c;具体包括&#xff1a; 多写注释&#xff1a;在脚本中添加注释&#xff0c;以帮助理解脚本的不同部分。 当运行失败时使脚本退出&#xff1a;使用set -o errexit或set -e&#x…

WINUI或WPF灵活使用样式、控件模板、自定义控件、用户控件

在WINUI与WPF 中&#xff0c;控件模板&#xff08;ControlTemplate&#xff09;、样式&#xff08;Style&#xff09;、自定义控件&#xff08;CustomControl&#xff09;和用户控件&#xff08;UserControl&#xff09;都是构建复杂和灵活用户界面的重要工具&#xff0c;但它们…

【electron6】浏览器实时播放PCM数据

pcm介绍&#xff1a;PCM&#xff08;Puls Code Modulation&#xff09;全称脉码调制录音&#xff0c;PCM录音就是将声音的模拟信号表示成0,1标识的数字信号&#xff0c;未经任何编码和压缩处理&#xff0c;所以可以认为PCM是未经压缩的音频原始格式。PCM格式文件中不包含头部信…

ForCloud全栈安全体验,一站式云安全托管试用 开启全能高效攻防

对于正处于业务快速发展阶段的企业&#xff0c;特别是大型央国企而言&#xff0c;日常的安全部署和运营管理往往横跨多家子公司&#xff0c;所面临的挑战不言而喻。尤其是在面对当前常态化的大型攻防演练任务时&#xff0c;难度更是呈“几何级数”上升&#xff1a; 合规难 众…

安卓 mvp 的架构的详细介绍

MVP 架构介绍 MVP&#xff08;Model-View-Presenter&#xff09;是一种软件架构模式&#xff0c;常用于构建用户界面&#xff08;UI&#xff09;。它将应用程序的逻辑划分为三个部分&#xff1a;Model、View 和 Presenter。MVP 的主要目标是分离视图和业务逻辑&#xff0c;使代…