我正在制作一个输出到 excel 电子表格的 vbscript。这将在不同的日子在多个系统上运行,所以我想将电子表格的名称命名为 hostname&date .xls
我怎么能保存它,我一直在谷歌搜索,但找不到它。
此外,我只有两列,但第二列中的一些文本将是“测试通过”或“测试失败”。大约有25行。我想让它在第二列中具有“测试通过”的行是绿色的,然后是红色的,反之亦然。
我该怎么办?
ActiveWorkbook.SaveAs *filename*
Cells(1, 1).Font.ColorIndex = 3
Cells(1, 1).Font.Bold = TRUE
Cells(1, 1).Font.Size = 12
等等
如果我记得正确的红色是 3,绿色是 4。此外,任何范围对象都应该用于更改样式属性,如字体。因此范围、选择等将起作用。
要获取新文件名,我将使用以下代码...
Set objSysInfo = CreateObject( "WinNTSystemInfo" )
filename = objSysInfo.ComputerName & "-" & Year(Now) & right("00" & Month(Now), 2) & ".xls"
WScript.Echo Replace(WScript.ScriptFullName, WScript.ScriptName, filename)
我更喜欢条件格式:
With Table1.Range("$A:$A,$B:$B").FormatConditions.Add( _
Type:=xlExpression, _
Formula1:="=AND($B1=""Y"")")
.Interior.Color = RGB(255, 0, 0)
End With
With Table1.Range("$A:$A,$B:$B").FormatConditions.Add( _
Type:=xlExpression, _
Formula1:="=AND($B1=""X"")")
.Interior.Color = RGB(0, 255, 0)
End With
随意将Table1替换为任何其他表对象。
这将在每次执行此代码时添加新的格式条件。
要创建您的文件名,您可以使用Format(Now,"dd/mm/yyyy")
Omnikrys 的代码 - 或FileDialog-Object。
这里有一个完整的例子:
ActiveWorkbook.SaveAs Environ$("computername") & "_" & Format(Now, "dd-mm-yyyy") & ".xlsx"