我尝试使用AppActivate,然后使用SendKeys将图像从Excel复制到Microsoft Paint。虽然Paint是正常打开和激活的,但通过SendKeys发送的击键不能达到目的。是否有替代方案(API函数?)来代替SendKeys?
@phil-cohen我做了几次尝试,都是徒劳;我试图隐藏excel和重新提交,但无济于事
ActiveSheet.Shapes.Range(Array("Picture 2")).Select
Selection.Copy
Application.Visible = False
SendKeys "^V"
Shell Environ("windir") & "\system32\mspaint.exe", vbMaximizedFocus
Application.Wait (Now + TimeValue("0:00:01"))
SendKeys "^V"
Application.Visible = True
1条答案
按热度按时间cfh9epnr1#
你试过颠倒命令的顺序吗?关于SendKeys():“此方法将击键放在键缓冲区中。在某些情况下,必须先调用此方法,然后才能调用将使用键击的方法。例如,要向对话框发送密码,必须在显示对话框之前调用SendKeys方法。”https://learn.microsoft.com/en-us/office/vba/api/excel.application.sendkeys