在VBA中,是否有类似Java的readLine命令?我想在立即窗口中使用文本输入,并将其放入变量中。这样做是否可行?
您不能交互地使用立即窗口。一方面,当子程序运行时,它不会接受任何键盘输入。但是,您可以在调用子程序或函数时使用它来传递数据,因此从某种意义上说,您可以“抓取”已经存在的数据。以下是一些示例:
Sub AddNums(ParamArray nums())
Dim total As Double
Dim i As Long
For i = 0 To UBound(nums)
total = total + nums(i)
Next i
Debug.Print total
End Sub
例如:
此外,您可以将输入收集阶段移至以控制台模式运行的VBScript脚本中,在VBA中调用它,并使用文件(脚本写入的)或剪贴板从脚本中获取数据。虽然这应该是可行的,但最好在VBA中找到更符合惯用方式的方法(基于表单的方式)。Sub Main()
Dim immediateInput As String
Dim readImmediate As Boolean
Do While (readImmediate = False)
readImmediate = True
Loop
End Sub
现在,在readImmediate = true
这一行设置断点,并将immediateInput
添加到监视窗口。打开即时窗口和监视器,运行宏。
当运行时命中断点,请在即时窗口中输入以下内容:
immediateInput = "hello world"
现在查看监视器;您的immediateInput
的值应为"hello world"
。