0
条件に応じてExcelスプレッドシートを更新するスクリプトを作成しています。Powershellスイッチ - 複数の句
これは私が現在持っているものです:開始時
if ($endIRs -ne $null) {
$endIRs | ForEach-Object {
try {
$classification = $_.Classification
$priority = $_.Priority
$title = $_.Title
$id = $_.Id
switch ($classification) {
{($_ -eq 'Reports') -and ($priority -eq '1')} {
$GeAppsReportSheet.Cells.Item(8,2).Interior.ColorIndex = 3
$GeAppsReportSheet.Cells.Item(8,2) = 'RED'
}
#more switch statements to go here
}
catch {#catch tickets with $classification not listed}
}
}
$endIRs
は、最後の12時間で記録された優先度の高い「事件」のシリーズを保持しています。存在しない場合は、すべてがデフォルトで「緑色」に設定されます。
私がswitch
の文で達成しようとしているのは、私自身で行うことができるif (($classification -eq 'Reports') -and ($priority -eq '1')) {'change the cell colour and text'}
ですが、優先度が「1」か「2」かどうかをチェックし、スプレッドシート内の分類セル。
switch
ステートメントの中でif
ステートメントを実行することはできますか、それとももっと良い方法がありますか?
:あなたもアクションscriptblocksで "通常の"
switch
声明や巣他の条件文を使用することができます。もちろん、:編集:私は
if..elseif..else
制御構造を好みます私は今彼が望むものを手に入れます。それは正しいとは言いませんでした。 – Matt私の貧しい説明のために申し訳ありませんマット。 @Ansgar - 私の考えは次の行に沿ったものでした: 'switch($ classification){ 'レポート' {if($ priority -eq '1'){カラーセル赤色} elseif($ priority -eq ' 2 '){color cell AMBER}} } ' - それは意味があるのでしょうか? –
@RossLyonsこれは確かにオプションです。更新された回答をご覧ください。 –