[英]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以在输入框中输入值?
您SendKeys
在InputBox
上使用SendKeys
,只需指定默认值即可:
x = InputBox("Prompt", "Title", "Default Value")
如果那不能满足您的需求,那么它将变得更加复杂。 让您的调用程序在调用宏之前将值写入文件,然后使宏将该文件读入一个变量, InputBox
将该变量用作默认值。
但是,如果它也“按Enter”,那么首先使用InputBox
的意义何在? 似乎毫无意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.