2015-10-05 37 views
4

是否存在與VBA中的Java的readLine等效的命令。 我想使用立即窗口中的文本輸入並將其放入一個變量。 這可能嗎?是否有任何命令等同於vba中的readline?

+1

[ReadLine](https://msdn.microsoft.com/en-us/library/office/gg278803.aspx)是一種VBA方法。 – Jeeped

+3

我很確定答案是否定的 - 您不能使用即時窗口作爲交互式控制檯。你想做什麼?也許你可以使用一個用戶窗體。 –

+1

我想用一個循環來輸入用戶的數據,並把它放在一個數組來計算總數(類似的東西)。如果我使用表格,我將不得不創造無限的否。的文本框。所以.. – Emi

回答

3

我不太清楚爲什麼你需要從立即窗口寫入一個變量在運行時 - 是一些奇怪的調試實踐?

通常情況下,如果您需要接受輸入,您最終會得到一個與用戶交互的表單。

但是,如果你確實需要在運行時寫的一個變量考慮以下因素:

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"

enter image description here

4

不能使用即時窗口交互。首先 - 當一個子程序正在運行時,它不會接受任何鍵盤輸入。但是,您可以使用它在調用它時將數據傳遞給子或函數,從某種意義上說,您可以「刮擦」已存在的數據。沿着這些路線的東西:

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 

例如:

enter image description here

除此之外, - 你可以在輸入收集階段移動到控制檯模式下運行一個VBScript腳本,從VBA調用它,並使用一個文件(腳本寫入)或者剪貼板來完成腳本運行後的腳本數據。這應該是可行的,儘管在VBA中找到一種更習慣(基於表單)的方式可能更好。

相關問題