繁体   English   中英

SendKeys至Excel输入框(VBA)

[英]SendKeys to Excel Input Box (VBA)

我想做的是运行一个VBA文件,该文件打开一个excel工作簿,启动一个带有输入框的宏,在该输入框中输入文本,按Enter,然后该宏继续运行。

到目前为止,我所拥有的就是“ GetData”作为宏的名称:

strPath = "C:\Users\Test\Desktop\ExcelFile.xlsm" 
strMacro = "GetData"

Set objApp = CreateObject("Excel.Application") 
objApp.Visible = True

Set wbToRun = objApp.Workbooks.Open(strPath) 
objApp.Run strMacro

objApp.SendKeys "Sample"
objApp.SendKeys "~"

我遇到的问题是,直到宏运行完毕后,SendKeys才激活。 输入框出现后,它会一直呆在那里直到我关闭它。 这导致宏不执行任何操作,然后将单词“ Sample”输入到单元格中,然后按下“ Enter”。

我的问题是:如何获取SendKeys以在输入框中输入值?

SendKeysInputBox上使用SendKeys ,只需指定默认值即可:

x = InputBox("Prompt", "Title", "Default Value")

如果那不能满足您的需求,那么它将变得更加复杂。 让您的调用程序在调用宏之前将值写入文件,然后使宏将该文件读入一个变量, InputBox将该变量用作默认值。

但是,如果它也“按Enter”,那么首先使用InputBox的意义何在? 似乎毫无意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM