gpt4 book ai didi

ruby - 在 Excel VBA 代码中自动确认 Msgbox

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:04 25 4
gpt4 key购买 nike

我正在使用 Ruby 和 WIN32OLE 来自动执行带有 Windows 调度程序的 Excel 宏。

我的所有这些都正常工作。我的问题是必须运行嵌入在外部方的 excel 文件中的宏(即我无法控制宏)。我可以毫无问题地调用宏,但是代码包含用户提示(以 Msgbox 语句的形式)

简而言之,如何通过 WIN32OLE 告诉 msgbox“yes”或“ok”?

我尝试过的

  • 事件处理:Msgbox 不会抛出工作表事件。我不得不认为 Windows 会在某个地方为 Msgbox 抛出一个事件(但我不够熟练,无法使用 WIN32OLE 捕获它)

-线程和 Sendkeys:我也无法让 msgbox 响应 sendkeys。更有问题的是我无法让线程与 WIN32OLE 对象一起工作(当我使用 puts 和 sleeps 来模拟宏运行时它工作正常。)

看来我一直坚持将代码复制到另一个工作簿并删除 msgbox 语句,我真的不想这样做,因为每次第 3 方代码的业务逻辑发生变化时都会增加维护工作。

最佳答案

这是一种方法, install Autoit然后做:

au3 = WIN32OLE.new("AutoItX3.Control")
au3.ControlClick("MessageBox Title",'', 'OK')

关于ruby - 在 Excel VBA 代码中自动确认 Msgbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9011892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com