常見錯誤和缺陷
在 VBScriptVisual Basic Scripting 語言是 Microsoft® 開發的高階程式設計語言。 中,存在兩種類型的變數:
變數類型 | 描述 |
---|---|
簡單 | 變數是整數、布林型和字串等實際類型。 |
物件 | 是由自動化物件介面公開其功能的複雜項目。 |
為其分配值之前,必須將自動化物件型別宣告為物件。
重要
強烈建議您將值分配給所有宣告的變數和/或物件。
範例
Function Main
'宣告要使用的物件
Dim nameStr As String
'將值分配給變數
nameStr = "This is a test assignment of text"
'在掃描器使用中視窗中顯示分配的結果
echo nameStr
'傳回結果
Main = true
End Function
以下是更進階的指令碼範例,它將列出目標電腦上安裝了哪些服務(localhost = 127.0.0.1)。 在指令碼偵錯工具中複製貼上以下文字並執行(F5)。 在偵錯視窗中,您將看到本機電腦上已安裝服務的清單。
Function main
'宣告我們將需要使用的物件
Dim wmi As Object
Dim objswbemobject As Object
'宣告我們需要的其他變數
Dim strComputer As String
Dim cr As String
strComputer = "127.0.0.1"
'歸位字元
cr = Chr(13) + Chr(10)
'與 wmi 物件相連
Set wmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
'檢查連線是否成功
If wmi is Nothing Then echo ("error1")
'傳回 wmi 的服務執行個體
Set wmiinst=wmi.instancesof("Win32_Service")
'檢查執行個體是否可用
If wmiinst is Nothing Then echo ("error2")
'對每個執行個體進行 true 迴圈
For Each objswbemobject In wmiinst
echo("服務名稱= ")
'顯示服務
echo(objswbemobject.DisplayName+cr)
下一步
End Function
附註
如果您嘗試使用自動化物件而未宣告,該指令碼將在編譯時失敗。 例如同一條代碼,但缺少物件變數 wmi 的完全宣告。 嘗試執行該指令碼時將顯示錯誤訊息,同時還將給出發生錯誤的指令碼行的清除指示:
Function main
Dim wmi 'WARNING : missing “as object”
Dim objswbemobject As Object
…
…
…
End Function