将数组从Java传递到VBScript
我有两个问题:
1.如果我们可以使用java将数组传递给VBSCript。 我可以使用以下命令将单个variables传递给VBSCript
Runtime.getRuntime().exec("wscript openChartsDevice.vbs " + fileName + " " + range);
但是,当我通过一个string数组,它说types不匹配。 我正在捕捉传入的数组
Dim arr()
有什么build议么?
编辑1以下问题已被回答
2.我正在使用以下Vbscript在Excel中创build图表
Dim oExl,excelPath,objWriteSheet,objWriteWorkbook Dim oMychartProcs Set oExl=CreateObject("Excel.Application") Set objWriteWorkbook = oExl.Workbooks.Open("SomeExcelfile.xlsx") Set objWriteSheet = objWriteWorkbook.Worksheets(1) Set oMychartProcs = objWriteWorkbook.Charts.Add oMychartProcs.SetSourceData objWriteSheet.Range(Cells(2,1),Cells(7,6)) oMychartProcs.ChartType = 4 oMychartProcs.Name = "ChartName" oMychartProcs.Activate
我给出的范围为A2:F7。 当我进入
oMychartProcs.SetSourceData objWriteSheet.Range("A2:F7")
图表创build完美,但是当我使用
Range(Cells(2,1),Cells(7,6))
整个Excel表格被转换为图表。 我想通过参数提供范围,所以我想上面的公式工作。 我search了很多,找不到一个明确的方法。 谢谢。
您不能将数组作为对象传递。 但是您可以将其元素作为stringparameter passing给vbscript函数,并使用空格作为分隔符。
openChartsDevice.vbs " + fileName + " " + arg[0] + " " + arg[1] + " " + arg[2].....
你可以在java中创build一个方法来传递一个数组并返回一个string
arg[0] + " " + arg[1] + " " + arg[2].....
另一种方法:用input参数创build一个文件。 更新您的VBScript引用该input文件来获取参数,而不是查找命令行参数。
我不知道JScript。 但是获得VBScript的方法是一样的。
For Each thing in Array() A = A & thing & " " Next
你实际上是问如何把一个数组变成一个分隔的string而不是一个VBScript数组。
看到你的问题标题暗示你感兴趣的这篇文章。
http://blogs.msdn.com/b/ericlippert/archive/2003/09/22/53061.aspx