在 Excel VBA 中使用 SendKeys 时,某些 alt 快捷方式变灰

问题描述 投票:0回答:0

我正在尝试通过 VBA 使用 SendKeys 访问 Excel 中的“查找和选择”菜单。

当我只是在 Excel 中时,我可以通过以下击键访问“查找和选择”菜单:(Alt+H) -> (FD)。在您自己的 Excel 上尝试一下,它有效!您还可以看到,当您仅键入 (Alt+H) -> (F) 时,它所做的是将您的 alt 快捷方式限制为以字母“F”开头的快捷方式,如下所示。

see image here

但是,当我尝试使用 SendKeys 在 VBA 中执行相同的操作时,我能够成功发送 (Alt+H) 命令并成功发送字母“F”。然而,在这样做之后,大多数 alt 快捷方式都变灰且不可用。尝试使用 SendKeys 发送这些快捷方式之一的字母是行不通的。

see image here

您可以看到图像中唯一可用的 alt 快捷方式是“FO”。如果我使用 VBA 发送该字母组合,它就可以工作!但是灰色快捷方式的字母组合都没有。有谁知道为什么会这样?用于获得此结果的代码如下所示。

Dim newWB As Workbook
Set newWB = Workbooks.Add
With newWB
    .Activate
    Application.SendKeys ("%h")    ' send Alt+H
    DoEvents
    SendKeys ("f")
    DoEvents
End With

注意:我知道 SendKeys 很糟糕。实际上,我实际上并没有尝试访问“查找和选择”菜单,我正在尝试访问一个我没有以任何其他方式访问过的不同菜单,而 SendKeys 似乎是唯一的选择。这只是提出问题的最清晰的方式。

excel vba outlook powerpoint sendkeys
© www.soinside.com 2019 - 2024. All rights reserved.