From feebc8f5988580200adf56ebb81240844226a8e8 Mon Sep 17 00:00:00 2001 From: dfinke Date: Tue, 4 Aug 2015 22:15:38 -0400 Subject: [PATCH] Update --- New-ConditionalFormattingIconSet.ps1 | 26 +++++++++++++------------- testCCFMTMultiple.ps1 | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 testCCFMTMultiple.ps1 diff --git a/New-ConditionalFormattingIconSet.ps1 b/New-ConditionalFormattingIconSet.ps1 index b016eec..d30b8d9 100644 --- a/New-ConditionalFormattingIconSet.ps1 +++ b/New-ConditionalFormattingIconSet.ps1 @@ -4,41 +4,41 @@ function New-ConditionalFormattingIconSet { $Address, [ValidateSet("ThreeIconSet","FourIconSet","FiveIconSet")] $ConditionalFormat, - [bool]$Reverse + [Switch]$Reverse ) - - DynamicParam { + + DynamicParam { $IconType = New-Object System.Management.Automation.ParameterAttribute $IconType.Position = 2 $IconType.Mandatory = $true $attributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute] - - $attributeCollection.Add($IconType) + + $attributeCollection.Add($IconType) switch ($ConditionalFormat) { "ThreeIconSet" { - $IconTypeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('IconType', [OfficeOpenXml.ConditionalFormatting.eExcelconditionalFormatting3IconsSetType], $attributeCollection) + $IconTypeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('IconType', [OfficeOpenXml.ConditionalFormatting.eExcelconditionalFormatting3IconsSetType], $attributeCollection) } "FourIconSet" { - $IconTypeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('IconType', [OfficeOpenXml.ConditionalFormatting.eExcelconditionalFormatting4IconsSetType], $attributeCollection) + $IconTypeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('IconType', [OfficeOpenXml.ConditionalFormatting.eExcelconditionalFormatting4IconsSetType], $attributeCollection) } "FiveIconSet" { - $IconTypeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('IconType', [OfficeOpenXml.ConditionalFormatting.eExcelconditionalFormatting5IconsSetType], $attributeCollection) + $IconTypeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('IconType', [OfficeOpenXml.ConditionalFormatting.eExcelconditionalFormatting5IconsSetType], $attributeCollection) } } $paramDictionary = New-Object System.Management.Automation.RuntimeDefinedParameterDictionary - + $paramDictionary.Add('IconType', $IconTypeParam) - + return $paramDictionary } - + End { - + $bp = @{}+$PSBoundParameters $obj = [PSCustomObject]@{ @@ -50,7 +50,7 @@ function New-ConditionalFormattingIconSet { $obj.pstypenames.Clear() $obj.pstypenames.Add("ConditionalFormatIconSet") - + $obj } } \ No newline at end of file diff --git a/testCCFMTMultiple.ps1 b/testCCFMTMultiple.ps1 new file mode 100644 index 0000000..39d37d9 --- /dev/null +++ b/testCCFMTMultiple.ps1 @@ -0,0 +1,19 @@ +ipmo importexcel -Force + +$f = "$pwd\test.xlsx" +rm $f -ErrorAction Ignore + +$p=@{ + ConditionalFormat = "ThreeIconSet" + IconType = "Signs" + Reverse = $true +} + +$RuleHandles = New-ConditionalFormattingIconSet -Address "C:C" @p +$RulePM = New-ConditionalFormattingIconSet -Address "D:D" @p + +ps | + Where company | + Select Company, Name, Handles, PM | + Sort Handles -Descending | + Export-Excel $f -Show -AutoSize -ConditionalFormat $RuleHandles,$RulePM \ No newline at end of file