2017-08-07 13 views
-1

vbscriptを初めて使用しています。私は以下のPingTest関数から戻り値を取得しようとしていますが、関数定義(私はWindows 10を使用しています)でエラーが発生します。VBScriptを使用した関数からの戻り値

Function PingTest(hostName) as Boolean 

のように、関数の戻り値の型を指定

Function PingTest(hostName) 
    ' Standard housekeeping 
    Dim colPingResults, objPingResult, strQuery 

    ' Define the WMI query 
    strQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & hostName & "'" 

    ' Run the WMI query 
    colPingResults = GetObject("winmgmts://./root/cimv2").ExecQuery(strQuery) 

    ' Translate the query results to either True or False 
    For Each objPingResult In colPingResults 
     If Not IsObject(objPingResult) Then 
      PingTest = False 
     ElseIf objPingResult.StatusCode = 0 Then 
      PingTest = True 
     Else 
      PingTest = False 
     End If 
    Next 
    colPingResults = Nothing 
End Function 


Dim output 
output= PingTest("www.google.com") 

WScript.Echo output 
+0

エラーが表示されますか?どれ? – JNevill

+0

その「Line1:Char 31 Expected statement」と表示されます –

+0

変更されたコードが機能します! –

答えて

3

illegal in VBscriptです。二思想に

型付き暗く -

Dim output As Boolean = PingTest("www.google.com") 

のようにはどちらか、VBScriptのではありません。 colPingResultsにオブジェクトを割り当てるにはSetが必要です。

+0

私はそれを訂正し、それが働いた –

関連する問題