У вас проблема с областью действия. Переменные в родительской области доступны из дочерней области, но когда вы пишете в них, они копируются в локальную область, и это то, что вы изменяете.
Рассматривайте эту анонимную функцию, которую вы создаете, как функцию и вместо этого возвращайте значение:
$CoFixes = {
if ($CoName -eq "L.F. 10' Panel w/o lath"){"L.F. of 10' Panel w/o lath"}
elseif ($CoName -eq "L.F. 9' Panel w/o lath"){"L.F. of 9' Panel w/o lath"}
elseif ($CoName -eq "L.F. 8'2`" Panel w/o lath"){"L.F. of 8'2`" Panel w/o lath"}
elseif ($CoName -eq "L.F. 4' Panel w/o lath"){"L.F. of 4' Panel w/o lath"}
elseif ($CoName -eq "L.F. 4' Panel w/ 8`" top w/o lath"){"L.F. of 4' Panel w/ 8`" top w/o lath"}
elseif ($CoName -eq 'Special Window Openings over 27"'){'Special Window Openings over 37"'}
elseif ($CoName -eq 'Door Opening up to 41.5" wide'){'Door Opening up to 41 1/2" wide'}
else { $CoName }
}
$CoName = $ChangeOrder1Worksheet.range('B20').text
$CoName = &$CoFixes
Чтобы сделать это более идиоматичным, попробуйте переключатель:
$CoFixes = {
switch($CoName)
{
"L.F. 10' Panel w/o lath" {"L.F. of 10' Panel w/o lath"}
"L.F. 9' Panel w/o lath" {"L.F. of 9' Panel w/o lath"}
"L.F. 8'2`" Panel w/o lath" {"L.F. of 8'2`" Panel w/o lath"}
"L.F. 4' Panel w/o lath" {"L.F. of 4' Panel w/o lath"}
"L.F. 4' Panel w/ 8`" top w/o lath" {"L.F. of 4' Panel w/ 8`" top w/o lath"}
'Special Window Openings over 27"' {'Special Window Openings over 37"'}
'Door Opening up to 41.5" wide' {'Door Opening up to 41 1/2" wide'}
default { $Name }
}
}
$CoName = $ChangeOrder1Worksheet.range('B20').text
$CoName = &$CoFixes
Тогда, возможно, поместите это в реальную функцию:
function Repair-CoName {
param(
[String]
$Name
)
switch($Name)
{
"L.F. 10' Panel w/o lath" {"L.F. of 10' Panel w/o lath"}
"L.F. 9' Panel w/o lath" {"L.F. of 9' Panel w/o lath"}
"L.F. 8'2`" Panel w/o lath" {"L.F. of 8'2`" Panel w/o lath"}
"L.F. 4' Panel w/o lath" {"L.F. of 4' Panel w/o lath"}
"L.F. 4' Panel w/ 8`" top w/o lath" {"L.F. of 4' Panel w/ 8`" top w/o lath"}
'Special Window Openings over 27"' {'Special Window Openings over 37"'}
'Door Opening up to 41.5" wide' {'Door Opening up to 41 1/2" wide'}
default { $CoName }
}
}
$CoName = $ChangeOrder1Worksheet.range('B20').text
$CoName = Repair-CoName -Name $CoName
и т.д.