From 9abbe2983bc69519233b9730cfcc8b6811c4e844 Mon Sep 17 00:00:00 2001 From: jhoneill Date: Tue, 27 Aug 2019 00:30:56 +0100 Subject: [PATCH] Set-ExcelRange now handles autosize on non-windows --- SetFormat.ps1 | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/SetFormat.ps1 b/SetFormat.ps1 index 07dd5e0..f59d50a 100644 --- a/SetFormat.ps1 +++ b/SetFormat.ps1 @@ -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)) } } if ($Autosize) { - if ($Range -is [OfficeOpenXml.ExcelColumn]) {$Range.AutoFit() } - 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)) } + try { + if ($Range -is [OfficeOpenXml.ExcelColumn]) {$Range.AutoFit() } + 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)) } + } + catch {Write-Warning -Message "Failed autosizing columns of worksheet '$WorksheetName': $_"} } elseif ($PSBoundParameters.ContainsKey('Width')) { if ($Range -is [OfficeOpenXml.ExcelColumn]) {$Range.Width = $Width}