0

Excelスプレッドシートに出力するvbscriptを作成しています。これは異なる日に複数のシステムで実行されるため、スプレッドシートの名前を ホスト名と日付.xlsにしたい

どうすれば名前を付けて保存できますか、グーグルで検索しましたが、見つかりません。

また、列は 2 つしかありませんが、2 番目の列の一部のテキストは「テスト PASSED」または「テスト FAILED」のいずれかになります。約25行あります。2列目に「TEST PASSED」がある行が緑になり、次に赤が逆になるようにしたいと思います。

これについてどうすればよいですか?

4

2 に答える 2

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 に答える
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) 
于 2012-09-13T15:02:47.873 に答える