VBScriptにはtoArray
メソッド/関数はありません。
ArrayList
classとそのVBScriptでの使用方法をお読みください
記事Be Careful What You SayはここEkkehard.Hornerの答えの私のダイジェストです:ArrayList
を含むVariant型の変数がarray
変数から概念的に異なるが、1がfor .. to .. next
ループまたはfor each .. in .. next
ループを使用して類似した方法でそれらを読むことができます。そして、私の貢献:
option explicit
On Error GoTo 0
Dim sRslt: sRslt = Wscript.ScriptName ' result
dim arr1, arr2(), iLoop, lenght, oLoop
Set arr1 = CreateObject("System.Collections.ArrayList")
for iLoop = 0 to 3
arr1.add Chr(65 + iLoop)
next
redim arr2(arr1.count -1)
sRslt = sRslt & vbNewLine & "IsArray(arr1)=" & IsArray(arr1) & " arr1.count=" & arr1.count
sRslt = sRslt & vbNewLine & "arr1.type: " & VarType(arr1) & vbTab & TypeName(arr1)
sRslt = sRslt & vbNewLine & "arr2.type: " & VarType(arr2) & vbTab & TypeName(arr2)
'arr2 = arr1.ToArray()
sRslt = sRslt & vbNewLine & vbNewLine & "''' for iLoop = 0 to arr1.count -1"
for iLoop = 0 to ubound(arr2) ' or equivalent
' for iLoop = 0 to arr1.count -1
'msgbox "arr2: " & arr2(iLoop)
arr2(iLoop) = Chr(97 + iLoop) & arr1(iLoop)
sRslt = sRslt & vbNewLine & iLoop & " arr1(iLoop): " & arr1(iLoop) _
& vbTab & "arr2(iLoop): " & arr2(iLoop)
next
sRslt = sRslt & vbNewLine & vbNewLine & "''' for each oLoop in arr2"
iLoop = 0
for each oLoop in arr2
sRslt = sRslt & vbNewLine & iLoop & " arr1(iLoop): " & arr1(iLoop) _
& vbTab & "oLoop: " & oLoop
iLoop = iLoop + 1
Next
Wscript.Echo sRslt
その出力:
==> cscript D:\VB_scripts\SO\37052791.vbs
37052791.vbs
IsArray(arr1)=False arr1.count=4
arr1.type: 9 ArrayList
arr2.type: 8204 Variant()
''' for iLoop = 0 to arr1.count -1
0 arr1(iLoop): A arr2(iLoop): aA
1 arr1(iLoop): B arr2(iLoop): bB
2 arr1(iLoop): C arr2(iLoop): cC
3 arr1(iLoop): D arr2(iLoop): dD
''' for each oLoop in arr2
0 arr1(iLoop): A oLoop: aA
1 arr1(iLoop): B oLoop: bB
2 arr1(iLoop): C oLoop: cC
3 arr1(iLoop): D oLoop: dD
==>
私は推測している 'ARR2 = arr1.ToArray()' VBScriptの配列はありません。ネットと同じであり、問題になるだろう配列、VBScriptのすべては[Variant'のサブタイプです(https://msdn.microsoft.com/en-us/library/9e7a57cf(v = vs.84).aspx)データ型です。 – Lankymart