0

我正在制作一个输出到 excel 电子表格的 vbscript。这将在不同的日子在多个系统上运行,所以我想将电子表格的名称命名为 hostname&date .xls

我怎么能保存它,我一直在谷歌搜索,但找不到它。

此外,我只有两列,但第二列中的一些文本将是“测试通过”或“测试失败”。大约有25行。我想让它在第二列中具有“测试通过”的行是绿色的,然后是红色的,反之亦然。

我该怎么办?

4

2 回答 2

1
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) 
于 2012-09-13T15:02:47.873 回答
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替换为任何其他表对象。

这将在每次执行此代码时添加新的格式条件。

要创建您的文件名,您可以使用Format(Now,"dd/mm/yyyy")Omnikrys 的代码 - 或FileDialog-Object

这里有一个完整的例子:

ActiveWorkbook.SaveAs Environ$("computername") & "_" & Format(Now, "dd-mm-yyyy") & ".xlsx"

于 2012-09-13T15:50:19.703 回答