Skip to content

Instantly share code, notes, and snippets.

@taka2
Created October 7, 2011 09:41
Show Gist options
  • Select an option

  • Save taka2/1269912 to your computer and use it in GitHub Desktop.

Select an option

Save taka2/1269912 to your computer and use it in GitHub Desktop.
2次元のJScript配列を、2次元のSafeArrayに変換するサンプル
<?xml version="1.0" encoding="Shift_JIS" ?>
<package>
<job>
<script language="VBScript"><![CDATA[
Function convertToSafeArray2d(jsArray)
Dim l1, l2, result
l1 = jsArray.length
l2 = Eval("jsArray.[0].length")
ReDim result(l1, l2)
For i=0 to l1 - 1
For j=0 to l2 - 1
result(i, j) = Eval("jsArray.[" & i &"].[" & j &"]")
Next
Next
convertToSafeArray2d = result
End Function
]]></script>
<script language="JScript"><![CDATA[
// 2次元のJScript配列
var arr2d = [[1,2,8],[4,7,6]];
// SafeArrayに変換
var safeArray2d = convertToSafeArray2d(arr2d);
printVBArray(new VBArray(safeArray2d));
// デバッグ用:VBArrayを表示
function printVBArray(vbArray) {
for(var i=0; i<vbArray.ubound(1); i++) {
for(var j=0; j<vbArray.ubound(2); j++) {
WScript.Echo("vbArray[" + i + "," + j + "] = " + vbArray.getItem(i, j));
}
}
}
]]></script>
</job>
</package>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment