2013-02-12 105 views
0

在VBA即時窗口,我可以簡單地輸入在任何時間如下:使用Visual Studio即時窗口像VBA即時窗口

?Len("Four") 

按回車鍵,並得到結果:

4 

如果我嘗試在Visual Studio Express(VB.NET)中做到這一點,我得到以下結果:

The name 'Len' does not exist in the current context 

我認爲它必須與VBA是一種「腳本」語言,而VB.Net則需要編譯。我只是尋找一種簡單的方法來使用內置函數庫中的函數來計算表達式。

+0

什麼版本的VB.net/Visual Studio? – RBarryYoung 2013-02-12 16:45:32

+0

Microsoft Visual Basic 2008 Express Edition – mwolfe02 2013-02-12 16:55:23

回答

1

我剛剛創建了一個新的控制檯應用程序和測試都

?"Four".Length 

?Len("Four") 

這兩者導致4,我的項目運行之後。

你有沒有可以運行的項目?即時窗口需要在運行項目的上下文中進行評估。如果是這樣,

您是否在項目屬性「參考」選項卡中導入了Microsoft.VisualBasic?如果我刪除,我得到的,

「萊恩」未聲明。由於其保護級別,它可能無法使用。

但是,在Length屬性格式的System.String仍然有效,因爲我仍在進口System

+0

「您是否有可運行的項目?需要在正在運行的項目環境中評估即時窗口。」這似乎是我失蹤的關鍵信息。如果我只想在即時窗口中評估一些表達式,創建一個新的控制檯應用程序似乎是最簡單的解決方案。感謝您的洞察! – mwolfe02 2013-02-12 17:02:57

1

確保您正在瀏覽您的代碼。

+0

這不是VBA中的要求。這是VB.Net/Visual Studio中的一項要求嗎? – mwolfe02 2013-02-12 16:58:58

+0

就是這樣。顯然,VS虛擬主機必須首先處於運行狀態。 – RBarryYoung 2013-02-12 17:01:44

+0

似乎Visual Studio會在某些情況下嘗試自動進入運行狀態。使用@ Jodrell創建一個新的控制檯應用程序的例子,我可以在即時窗口中評估表達式,而不必明確地逐句通過代碼。 VS將運行該應用程序,即使代碼僅包含庫存'Module Module1 Sub Main() End Sub End Module' – mwolfe02 2013-02-12 17:07:13