我正在制作一个输出到excel电子表格的vbscript。 这将在不同的日子在多个系统上运行,因此我想创建电子表格的名称 主机名&安培;日期的.xls
我怎么能像它一样进行保存,我一直在谷歌搜索但找不到它。
另外,我只有两列,但第二列中的一些文本将是“Test PASSED”或“Test FAILED”。大约有25行。我想这样做,所以在第二列中有“TEST PASSED”的行是绿色,然后是红色,反之亦然。
我应该怎么做?
答案 0 :(得分:1)
ActiveWorkbook.SaveAs *filename*
Cells(1, 1).Font.ColorIndex = 3
Cells(1, 1).Font.Bold = TRUE
Cells(1, 1).Font.Size = 12
等
如果我记得右红色是3,绿色是4.此外,任何范围对象都应该用于更改像Font这样的样式属性。所以范围,选择等都可以。
要获取新文件名,我会使用以下代码...
Set objSysInfo = CreateObject( "WinNTSystemInfo" )
filename = objSysInfo.ComputerName & "-" & Year(Now) & right("00" & Month(Now), 2) & ".xls"
WScript.Echo Replace(WScript.ScriptFullName, WScript.ScriptName, filename)
答案 1 :(得分:1)
我更喜欢条件格式:
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 替换为任何其他表对象。
ADD 新格式条件每次执行此代码。
要创建文件名,您可以使用Format(Now,"dd/mm/yyyy")
和Omnikrys代码 - 或 FileDialog-Object 。
这里有一个完整的例子:
ActiveWorkbook.SaveAs Environ$("computername") & "_" & Format(Now, "dd-mm-yyyy") & ".xlsx"