(VBA Excel)在外部应用程序中捕获特定按键的任何实例?

(VBA Excel)在外部应用程序中捕获特定按键的任何实例?,excel,vba,Excel,Vba,我经常被要求将excel中的信息粘贴到各种表单中。如果我不必在复制和粘贴之间切换窗口,我将节省时间。我的想法是按下按钮激活宏,这样它将复制第一个单元格,检查是否在另一个应用程序中执行了ctrl-v的任何实例,然后复制列中的下一个单元格。这可能吗 为了让您了解我想要的是以下示例: Dim rownum As Integer Dim copiedtext As String Sub Button1_Click() rownum = 2 copiedtext = Range("B" & row

我经常被要求将excel中的信息粘贴到各种表单中。如果我不必在复制和粘贴之间切换窗口,我将节省时间。我的想法是按下按钮激活宏,这样它将复制第一个单元格,检查是否在另一个应用程序中执行了ctrl-v的任何实例,然后复制列中的下一个单元格。这可能吗

为了让您了解我想要的是以下示例:

Dim rownum As Integer
Dim copiedtext As String
Sub Button1_Click()
rownum = 2
copiedtext = Range("B" & rownum).Value
Application.OnKey "^v", "ABC"
End Sub

Sub ABC()
ActiveCell.Value = copiedtext
rownum = rownum + 1
copiedtext = Range("B" & rownum).Value
End Sub

当然,在这个例子中,它只是在同一个应用程序中找到按键,但希望能正确解释我希望它如何工作的想法。谢谢你的帮助

正如
Application.OnKey
中的对象上下文所暗示的那样,
OnKey
仅在Excel中捕获按键;当任何库(如Word、Internet Explorer等)中存在可以引用的对象时,与其他应用程序的接口仍然“相对”容易。。。即使不使用
OnKey
SendKey
,您也无法从Excel中真正侦听第三方(非MS Office)应用程序中按下的键…什么是“其他应用程序”?否则,Alt Tab是您的朋友。