ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wodewan

[分享] 纯 VBA 非 Seliumn 同时控制谷歌Chrome和微软Edge浏览器

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-16 13:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:网页交互
我的edge浏览器不知道怎么设置的,关闭之后还有进程,加了结束进程树的代码,每次运行前先运行这个。
  1. Option Explicit

  2. #If VBA7 Then
  3.     Declare PtrSafe Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As LongPtr
  4.     Declare PtrSafe Function Process32First Lib "kernel32" (ByVal hSnapshot As LongPtr, uProcess As PROCESSENTRY32) As Long
  5.     Declare PtrSafe Function Process32Next Lib "kernel32" (ByVal hSnapshot As LongPtr, uProcess As PROCESSENTRY32) As Long
  6.     Declare PtrSafe Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPtr
  7.     Declare PtrSafe Function TerminateProcess Lib "kernel32" (ByVal hProcess As LongPtr, ByVal uExitCode As Long) As Long
  8. #Else
  9.     Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
  10.     Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  11.     Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
  12.     Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  13.     Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
  14. #End If

  15. Private Const TH32CS_SNAPPROCESS As Long = 2
  16. Private Const PROCESS_TERMINATE As Long = &H1
  17. Private Const MAX_PATH As Integer = 260

  18. Private Type PROCESSENTRY32
  19.     dwSize As Long
  20.     cntUsage As Long
  21.     th32ProcessID As Long
  22.     th32DefaultHeapID As Long
  23.     th32ModuleID As Long
  24.     cntThreads As Long
  25.     th32ParentProcessID As Long
  26.     pcPriClassBase As Long
  27.     dwFlags As Long
  28.     szExeFile As String * MAX_PATH
  29. End Type

  30. Sub TerminateEdgeProcesses()
  31.     Dim hSnapshot As LongPtr
  32.     Dim uProcess As PROCESSENTRY32
  33.     Dim hProcess As LongPtr
  34.     Dim strProcessName As String
  35.    
  36.     ' 初始化结构体
  37.     uProcess.dwSize = Len(uProcess)
  38.    
  39.     ' 创建进程快照
  40.     hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
  41.     If hSnapshot <> 0 Then
  42.         ' 查找第一个进程
  43.         If Process32First(hSnapshot, uProcess) Then
  44.             Do
  45.                 ' 获取进程名
  46.                 strProcessName = Left(uProcess.szExeFile, InStr(1, uProcess.szExeFile, Chr(0)) - 1)
  47.                
  48.                 ' 如果是Edge进程,则尝试结束
  49.                 If InStr(1, strProcessName, "msedge.exe", vbTextCompare) > 0 Then
  50.                     ' 打开进程
  51.                     hProcess = OpenProcess(PROCESS_TERMINATE, 0, uProcess.th32ProcessID)
  52.                     If hProcess <> 0 Then
  53.                         ' 结束进程
  54.                         TerminateProcess hProcess, 0
  55.                         CloseHandle hProcess
  56.                     End If
  57.                 End If
  58.                
  59.             Loop While Process32Next(hSnapshot, uProcess)
  60.         End If
  61.         ' 关闭快照句柄
  62.         CloseHandle hSnapshot
  63.     End If
  64. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2024-2-20 15:58 | 显示全部楼层
赞一个,外加收藏

TA的精华主题

TA的得分主题

发表于 2024-2-21 09:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-2-21 10:08 | 显示全部楼层
大神能不能帮忙改一下,就是要从这相地方进去
https://www.safe.gov.cn/safe/gzhbdmyzslb/index.html
下载最新一个月的各种货币对美元折算率
还有从https://www.safe.gov.cn/safe/rmbhlzjj/index.html
点击导出表格存到电脑指定盘
谢谢。

TA的精华主题

TA的得分主题

发表于 2024-2-21 10:20 | 显示全部楼层
有没有大神可以帮忙:
要从这儿点导出表格,存到电脑指定位置
https://www.safe.gov.cn/safe/rmbhlzjj/index.html
再从这儿https://www.safe.gov.cn/safe/gzhbdmyzslb/index.html
下载最新一份各种货币对美元折算率表也是存到指定位置。
谢谢

TA的精华主题

TA的得分主题

发表于 2024-2-23 19:52 | 显示全部楼层

各位老师,类模块这句话出现报错,应该怎么处理啊

本帖最后由 伶俐的毛豆 于 2024-2-23 19:54 编辑

image.png

TA的精华主题

TA的得分主题

发表于 2024-4-26 22:17 | 显示全部楼层
非常感谢大神分享!这对于只能在内网使用,不能上外网的环境非常适用,Excel版本比较低的需要把所有的PtrSaft 删掉,把所有LongPtr替换成Long才能使用,否则报错。

TA的精华主题

TA的得分主题

发表于 2024-5-1 09:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
32位的EXCEL 好像不支持, 虚拟机中运行64位可以

TA的精华主题

TA的得分主题

发表于 2024-5-5 12:17 | 显示全部楼层
尝试导入到access里面执行的时候错误太多。。。。
楼主能否提供个accessvba类,这个加上数据库就相当强大了,
另外这个打开浏览器必修独占么 有没有好办法去掉这个限制。

TA的精华主题

TA的得分主题

发表于 2024-5-5 17:45 | 显示全部楼层
打开谷歌是图片处出错,edge是Call objBrowser.attach("")出错。
230eaa4f7191b8809a714441fc1bc39.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-26 03:21 , Processed in 0.040826 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表