How can I pass an array from VBScript to JavaScript?
I have a web page where I get the name of the files in a folder into an array using VBScript
, then I pass that array to a variable JavaScript
so that I can display the names on the screen.
VBScript code:
Function allFiles()
Dim arr, arr2, oTargetFolder
arr = array()
set oFSO = CreateObject("Scripting.FileSystemObject")
oTargetFolder = "C:\Users\msiddiq1\Documents\WSDLs"
set objFolder = oFSO.GetFolder(oTargetFolder)
set oFiles = objFolder.Files
For Each files in oFiles
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = files.Name
Next
allFiles = arr
End Function
JS:
var folderFiles = allFiles();
alert(folderFiles.length); // alerts `undefined`
I can hard-coded values from vbscript to javascript, but not this array.
Please suggest.
+3
source to share
1 answer
You have to wrap the resulting array in VBArray
an object and call toArray
:
var folderFiles = new VBArray(allFiles());
var ff = folderFiles.toArray();
alert(ff.length);
or in one line:
var folderFiles = (new VBArray(allFiles())).toArray();
Note that VBScript is deprecated in IE11 edge mode, so it will disappear at some point.
+5
source to share