Не думаю, что что-то встроено, но вы можете создать свою собственную функцию как:
Function IsInitialized(a)
Err.Clear
On Error Resume Next
UBound(a)
If (Err.Number = 0) Then
IsInitialized = True
End If
End Function
Который затем можно назвать:
Dim myArray()
If Not IsInitialized(myarray) Then
WScript.Echo "Uninitialized"
End If
Однако, один из способов обойти это может заключаться в том, чтобы не объявлять пустые массивы, вместо этого объявлять просто переменную и позже устанавливать ее в массив, поэтому измените код выше на:
Dim myArray
myArray = Array()
If Not IsInitialized(myarray) Then
WScript.Echo "Uninitialized"
End If