Set-ExcelRange now handles autosize on non-windows

This commit is contained in:
jhoneill
2019-08-27 00:30:56 +01:00
parent 0556e4947a
commit 9abbe2983b

View File

@@ -230,12 +230,15 @@
else {Write-Warning -Message ("Can set the height of a row or a range but not a {0} object" -f ($Range.GetType().name)) } else {Write-Warning -Message ("Can set the height of a row or a range but not a {0} object" -f ($Range.GetType().name)) }
} }
if ($Autosize) { if ($Autosize) {
if ($Range -is [OfficeOpenXml.ExcelColumn]) {$Range.AutoFit() } try {
elseif ($Range -is [OfficeOpenXml.ExcelRange] ) { if ($Range -is [OfficeOpenXml.ExcelColumn]) {$Range.AutoFit() }
$Range.AutoFitColumns() elseif ($Range -is [OfficeOpenXml.ExcelRange] ) {
} $Range.AutoFitColumns()
else {Write-Warning -Message ("Can autofit a column or a range but not a {0} object" -f ($Range.GetType().name)) }
}
else {Write-Warning -Message ("Can autofit a column or a range but not a {0} object" -f ($Range.GetType().name)) }
}
catch {Write-Warning -Message "Failed autosizing columns of worksheet '$WorksheetName': $_"}
} }
elseif ($PSBoundParameters.ContainsKey('Width')) { elseif ($PSBoundParameters.ContainsKey('Width')) {
if ($Range -is [OfficeOpenXml.ExcelColumn]) {$Range.Width = $Width} if ($Range -is [OfficeOpenXml.ExcelColumn]) {$Range.Width = $Width}