【发布时间】:2018-02-17 19:11:02
【问题描述】:
我最近刚开始使用 VBA,我的任务是使用 Excel 自动执行表创建过程。我对 excel 工作簿本身内部的程序自动化没有问题,但我还需要在 excel 之外自动化程序。
要收集数据,我需要控制某个程序(要打开文件,单击下一步按钮,选择“确定”作为弹出窗口并将文件保存为 CSV)。我认为这些步骤可能与控制窗口的计算器(指示 VBA 按下“9”按钮或我选择的任何按钮)相同,因此是这个问题的原因。因此,与此一致,我想知道是否可以使用 excel VBA 自动化 Windows 计算器(告诉计算器按哪些按钮)?
如果是,请向我提供语法或建议。如果这些术语不那么技术性,我将不胜感激,因为我对编程世界还很陌生。非常感谢!
【问题讨论】:
-
通过自动化 UI 来控制程序是出了名的挑剔。如果您必须使用该程序,我建议使用为此目的设计的语言,例如autoitscript.com/site/autoit AutoIT 具有类似基本的语法,因此应该很容易通过您的 VBA 体验来学习。
-
欢迎来到 Stack Oveflow! 您想知道如何以编程方式控制 Windows
calc.exe,以便您了解如何以编程方式控制不同的应用程序?那是对的吗?您能否进一步扩展您的“最终目标”? (即,您最终想要完成什么?)另外,请查看“minimal reproducible example”和“these tips”。 -
@ashleedawg 谢谢你,是的,基本上这是为了能够使用 VBA 自动“按下”应用程序(在本例中为 calc.exe)的按钮和工具栏
-
我们中的一个人很困惑:如果您最终希望能够以编程方式控制的应用程序是
calc.exe:为什么?您可以在没有任何外部程序的情况下在 VBA 中进行数学运算。或者,如果您认为通过学习如何控制calc.exe,您将知道如何控制其他应用程序:由于多种原因,这是没有意义的。如果您可以edit 提出问题以添加您正在尝试做的一两个屏幕截图,以及您至少尝试过解决此问题的一些 证据,那将非常有帮助自己出去,发帖前。您是否访问了上面的链接? -
@ashleedawg 你好。抱歉,我正在做类比,因为我不确定是否可以在线发布所述程序的屏幕截图,因此除了将其与 calc.exe 进行比较之外,我没有其他方法(因为这是它可以获得的最接近的程序多个按钮)。对于代码,我还没有代码,因为我不确定是否可以控制 calc.exe(因此是问题)。我确实阅读了您发布的内容(第一个链接在创建问题之前显示,第二个链接,我不知道我还能添加什么)
标签: excel automation calculator vba