我有两个问题:
1。如果我们可以使用java将数组传递给VBSCript。我可以使用以下命令
Runtime.getRuntime().exec("wscript openChartsDevice.vbs " + fileName + " " + range);
但是当我传递一个String数组时,它表示类型不匹配。我正在抓住传入的数组
Dim arr()
任何建议?
编辑1 以下问题已得到答复 2。我正在使用以下Vbscript在excel中创建图表
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")
图表是完美创建的,但是当我使用
时 Range(Cells(2,1),Cells(7,6))
整个Excel工作表转换为图表。 我想通过参数提供范围,所以我想要上面的公式工作。我经常搜索,找不到明确的方法。谢谢。
答案 0 :(得分:0)
您无法将数组作为对象传递。但是您可以将其元素作为字符串参数传递给vbscript函数,并使用空格作为分隔符。
openChartsDevice.vbs " + fileName + " " + arg[0] + " " + arg[1] + " " + arg[2].....
您可以在java中创建一个方法来传递数组并返回一个字符串
arg[0] + " " + arg[1] + " " + arg[2].....
另一种方法:使用输入参数创建文件。更新您的VBScript以引用该输入文件以获取参数,而不是查找命令行参数。
答案 1 :(得分:-2)
我不懂JScript。但是进入VBScript的方法也是一样的。
For Each thing in Array()
A = A & thing & " "
Next
您实际上是在询问如何将数组转换为分隔字符串而不是vbscript数组。
请参阅此文章,您的问题标题暗示您感兴趣。
http://blogs.msdn.com/b/ericlippert/archive/2003/09/22/53061.aspx