【发布时间】:2013-02-23 08:06:55
【问题描述】:
我正在尝试模拟这个动作:
- 激活另一个应用程序,
- 发送按键 ctrl+c,
- 返回 Excel,
- 发送按键 ctrl+v
并在单元格中保存该值。
这是一个 DOS 窗口风格的应用程序,所以按键是管理它的唯一方法。
我设法激活并在那个 DOS 风格的应用程序中输入了诸如 ENTER 之类的击键,但是当我尝试 ctrl+C 时,它什么也没看到。
我尝试在 Excel VBA 中模拟它:
Range("E7").Select
SendKeys "^c"
Range("G7").Select
SendKeys "^v"
不复制 E7 值,但 G7(粘贴目标)突出显示,就好像它被选中进行复制一样。
注意:我不是试图将内容从 Excel 复制到 Excel,而是使用 Excel 执行击键。
【问题讨论】:
-
你能发布一些代码吗?您确定您为要发送的击键使用了正确的发送键命令吗? (在这里列出 --> autoitscript.com/autoit3/docs/appendix/SendKeys.htm)。请注意,Enter 键是 {ENTER},但并非所有键都那么直观(例如,{LCTRL} 表示左 ctrl 键)。
-
而不是
SendKey "^c",只需使用Range("E7").Copy -
问题解决了吗?我遇到了同样的问题。