如何从代码后面单击Excel功能区按钮

本文关键字:单击 Excel 功能区 按钮 代码 | 更新日期: 2023-09-27 18:13:32

我们使用第三方Excel插件在Excel工作表中填充数据。我的任务是编写一个c#应用程序(WinForms或VSTO),它将自动单击Ribbon按钮并处理数据。

问题是我找不到任何方法来自动点击功能区按钮(在插件选项卡上)使用c#代码。

我也尝试过使用Win32 API将按键发送到父Excel窗口(使用SendMessage),但没有收到按键。(我检查使用spy++)。并查看了外接程序集中公开的公共方法,但它不包含任何与单击功能区按钮相同的公共方法。

有人知道我如何使用c#代码在Excel(插件)功能区中单击ribbon按钮吗?

如何从代码后面单击Excel功能区按钮

查看Excel Application类的SendKeys方法。它允许您直接将密钥发送到Excel。您可以按Alt键查看哪些快捷键分配给哪些按钮/功能区选项卡。我用这个自动化了一些测试,它工作得很好。

如果你需要更复杂的东西,你也可以看看Sikuli。它基于图像识别,使用Java。发送按键和点击的机器人类。使用它自动执行UI任务非常容易。