我对EXcel VBA有一些了解,我是UI Automation的新手。 我正在尝试使用Excel VBA在客户端环境中进行UI自动化。 我参考了UIAutomationCore.dll。 当我尝试单击应用程序上的按钮时,我收到“运行时错误-2147467256(80004005)自动化错误未指定错误”。

以下是我的代码。 在最后一行,当我尝试调用该功能时,我收到错误。

我使用的是Window 7 32位计算机和32位版本的Excel 2010。

Dim oUIA As UIAutomationClient.CUIAutomation

Dim deskEle As UIAutomationClient.IUIAutomationElement

Dim ele As UIAutomationClient.IUIAutomationElement

Dim invokePattern As UIAutomationClient.IUIAutomationInvokePattern

Dim legacyPattern As UIAutomationClient.IUIAutomationLegacyIAccessiblePattern

Dim cnd As UIAutomationClient.IUIAutomationCondition

Dim walker As UIAutomationClient.IUIAutomationTreeWalker

Set oUIA = New UIAutomationClient.CUIAutomation

Set walker = oUIA.RawViewWalker

Set deskEle = oUIA.GetRootElement

Set ele = walker.GetFirstChildElement(deskEle)

Do While Not ele Is Nothing

If InStr(ele.CurrentName, "Title of the window") Then

Set myWindow = ele

Exit Do

End If

Set ele = walker.GetNextSiblingElement(ele)

Loop

Set cnd = oUIA.CreatePropertyCondition(UIA_NamePropertyId, "Go")

Set ele = myWindow.FindFirst(TreeScope_Subtree, cnd)

Set legacyPattern = ele.GetCurrentPattern(UIA_LegacyIAccessiblePatternId)

legacyPattern.DoDefaultAction

我也尝试过使用UIA_InvokePatternId。 我仍然得到同样的错误。

Set invokePattern = ele.GetCurrentPattern(UIA_InvokePatternId)

invokePattern.Invoke

该按钮实际上被点击了。 但由于最后一行的错误,执行没有向前推进。 我也尝试过如下。

On Error Resume Next

invokePattern.Invoke

On Error GoTo 0

然后在invokePattern.Invoke之后的下一行被执行但问题是,点击该按钮后会打开另一个小窗口。 我无法使用UIAutomation读取第二个窗口中的元素。 但是当我手动单击按钮时,我能够读取并访问第二个窗口上的元素。 我希望能够以编程方式单击按钮访问第二个窗口的元素。 我无法在任何地方找到解决方案。任何人都可以帮助我。 先感谢您。

自动化错误mysql vba,c - 运行时错误-214767259(80004005)自动化错误未指定错误 - Excel VBA - UIAutomation - 堆栈内存溢出...相关推荐

  1. java.nio.file 找不到_java - 断言该错误:无法访问路径(找不到java.nio.file.Path) - 堆栈内存溢出...

    我想使用Robolectric进行单元测试,但是我正在尝试使用robolectric进行简单测试,因此一开始我很困惑. 我遵循了手册,对示例进行了同样的操作,甚至其他帖子也无济于事. 每次收到错误消息 ...

  2. java replace第二个_java - 错误的第二个参数类型:从片段内调用.replace() - 堆栈内存溢出...

    我知道这个问题经常被问到,但是没有一个被接受的解决方案对我有用. 尝试从其他片段之一启动"首选项菜单"片段时,出现经典的"错误的第二个参数类型"错误. 不幸的是 ...

  3. android autolink识别错误,android - autolink窃取ontouch事件,从而反馈触摸列表视图行无效 - 堆栈内存溢出...

    我有一个listview . 并且行布局中包含很少的布局. 在行布局中,我有一个TextView ,我想在其上启用自动链接当我启用自动链接时,链接工作正常但我们点击列表行时得到的反馈不再有效. 在行布 ...

  4. mysql mediumblob insert_mysql - 死锁BLOB INSERT MySQL 8.0 InnoDB集群 - 堆栈内存溢出

    当使用配置好的InnoDB集群复制将较大的文件插入MySQL 8.0数据库时,查询会遇到表死锁. 对于较小的6 KB文件,可以使用INSERT. 通过MySQL路由器运行以及通过直接连接到" ...

  5. 服务器返回的信息无效或无法识别的响应,c# - 服务器从Visual Studio返回了无效或无法识别的响应错误 - 堆栈内存溢出...

    这很奇怪,来自微软. 在Visual Studio中,当我从Visual Studio执行应用程序代码时,大多数时候都会收到以下错误,然后将代码发布到自己的服务器上,Web应用程序运行正常(发出请求时 ...

  6. mysql中创建视图语法错误_mysql - 使用过程MySQL创建视图时出错 - 堆栈内存溢出

    尝试使用过程创建视图时出现问题. 我必须这样做,因为我需要在MySQL中发挥作用,将表的行转换为另一个表的列. 该查询效果很好,但是当我将其放在" CREATE VIEW"语句中时 ...

  7. vba odbc 3704 mysql_oracle - VBA / ADODB运行时错误:3704 - 堆栈内存溢出

    下面的VBA子例程可以正常运行大多数查询. (即: SELECT * FROM DUAL ) Sub DisplayQuery(QueryString As String) Dim rs As New ...

  8. mysql 连接 内存溢出_mysql - MySQL中止连接未知错误 - 堆栈内存溢出

    我使用多jdbc执行全表查询以进行数据迁移. 当我使用并行的75个jdbc查询每个表有近3000000行的差异表时,我发现MySQL在所有数据返回到jdbc之前中止了一个连接. 慢日志: Time: ...

  9. mysql存储过程中as_mysql - 存储过程mySQL语法错误意外“ AS” - 堆栈内存溢出

    我正在编写一个存储过程,如下所示 我得到的错误是在第3行和第4行,这两个错误是第3行是"意外的'发布者'标识符",第4行是"意外的AS(as)",但我不知道我是 ...

最新文章

  1. pyqt5实战之幻彩大蛇(贪吃蛇)-1
  2. 世道变了!这个AI竞赛不再要刷榜成绩,直接看商业落地计划书
  3. 《算法竞赛进阶指南》打卡-基本算法-AcWing 96. 奇怪的汉诺塔:递推
  4. iis 6.0上部署.net 2.0和4.0网站
  5. 【Python】100行Python代码轻松开发个人博客
  6. CSS3的边框(三)
  7. mybits注解详解
  8. 需求评审会议上,被逼疯的程序员
  9. c语言程序下三子棋,C语言实现三子棋游戏(初级版)
  10. redis数据类型之hash入门
  11. 堪比黑石 花旗、摩根大通的股东 揭开贝莱德的神秘面纱
  12. 远程580解锁bl工具_一年让你多挣4万的工具丨又增VIVO新款保资料解锁!
  13. 2019年上半年软件设计师上午试题及答案
  14. 数据库关系代数表达式学习
  15. 感冒究竟能不能喝咖啡
  16. java根据指定字符开头_Java如何检查以特定单词开头的字符串?
  17. html个人中心网页,个人中心页面.html
  18. 请求转发和重定向的区别以及什么时候使用
  19. table中 点击某一行变色
  20. 关注程序员健康,刻不容缓

热门文章

  1. Mac下常用快捷键和chrome插件
  2. 学计算机的要起一个群名,微信群名字大全 一起走过的日子
  3. google的开源项目总结
  4. AutoCAD.net 插件中获取AutoCAD 启动命令行的参数
  5. 蓝桥杯题目讲解(下)
  6. 【操作系统】Oranges学习笔记(五) 第六章 进程
  7. 金和c6支持mysql_MySql单实例启动方式
  8. 07 基于python实现超级画板(完整的代码+说明文档+可执行程序exe)
  9. 《海边的卡夫卡》--[日]村上春树
  10. 鸿蒙BETA版脱离安卓了吗,华为鸿蒙OS手机开发者Beta版来了,UI无变化,兼容安卓...