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







All Articles