Changing Excel spreadsheet cells through the usage of Jenkins
我寻求帮助的依据是上面的链接。我已经为此工作了3个月,但仍无法找到解决方案。我希望有人可以帮助我。
我想要实现以下目标:
所以基本上当我选择“Testdata A”作为Head并且“cel C3的输入”作为Sub时,我希望将值“Y”写入Excel内的单元格C3中。 目前我设法在名称“输入cel C3”后面加上字母“Y”。我用代码执行此操作:
if (Head.equals("Testdata A")) {
return ['Y':'Input for cel C3', 'N':'Input for cel C4', 'S': 'Input for cel C9', 'A':'Input for cel C10']
}
在我的VBSCript中,我使用代码来通过Jenkins选择的值来填充excel,但是这段代码只是表明单元格C3,c4和C5都需要填充1个给定的参数。所以即使我为c3"选择"输入,所有其他单元格也将被填充。代码是:
Dim xlApp
Dim wkBk
Dim wSheet
Dim y
Dim n
Set xlApp = CreateObject("Excel.Application")
xlApp.visible = True
Set wkBk = xlApp.Workbooks.Open("D:\location\of\excelFile\Excel.xlsb")
Set wSheet = wkBk.WorkSheets("Sheetname")
wSheet.Range("C3").Value = Wscript.Arguments(0)
wSheet.Range("C4").Value = Wscript.Arguments(0)
wSheet.Range("C5").Value = Wscript.Arguments(0)
wkBk.Save
我使用参数参数调用我的vbscript,如下所示:
call D:\location\to\script\.vbs %Sub%
男孩/女孩,帮助我,我怎样才能通过Jenkins的选择来填补特定的细胞。
答案 0 :(得分:0)
基于上面的代码,您似乎需要拆分输入变量并迭代它,如下所示:
Dim xlApp
Dim wkBk
Dim wSheet
Dim iLoop, setVal, setCell, myArguments, tempArray
Set xlApp = CreateObject("Excel.Application")
xlApp.visible = True
Set wkBk = xlApp.Workbooks.Open("D:\location\of\excelFile\Excel.xlsb")
Set wSheet = wkBk.WorkSheets("Sheetname")
myArguments = Split(Wscript.Arguments(0), ",") ' myArguments is now an array of the cells to be updated
For iLoop = 0 to UBound(myArguments)
wSheet.Range(myArguments(iLoop)).Value = "Y"
Next
wkBk.Save
编辑1:如果您始终设置" Y",则只需将您想要更新的单元格作为逗号分隔的字符串传递,例如"C1,C3,C5"
。上面的代码将在传递给脚本的每个单元格中设置Y而不是任何其他单元格。