diff --git a/ConvertTo-ExcelXlsx.ps1 b/ConvertTo-ExcelXlsx.ps1 deleted file mode 100644 index 64d6c32..0000000 --- a/ConvertTo-ExcelXlsx.ps1 +++ /dev/null @@ -1,50 +0,0 @@ -Function ConvertTo-ExcelXlsx { -[CmdletBinding()] -PARAM -( - [parameter(Mandatory=$true, ValueFromPipeline)] - [string]$Path, - [parameter(Mandatory=$false)] - [switch]$Force -) - if(-Not ($Path | Test-Path) ){ - throw "File not found" - } - if(-Not ($Path | Test-Path -PathType Leaf) ){ - throw "Folder paths are not allowed" - } - - $xlFixedFormat = 51 #Constant for XLSX Workbook - $xlsFile = Get-Item -Path $Path - $xlsxPath = "{0}x" -f $xlsFile.FullName - - if($xlsFile.Extension -ne ".xls"){ - throw "Expected .xls extension" - } - - if(Test-Path -Path $xlsxPath){ - if($Force){ - try { - Remove-Item $xlsxPath -Force - } catch { - throw "{0} already exists and cannot be removed. The file may be locked by another application." -f $xlsxPath - } - Write-Verbose $("Removed {0}" -f $xlsxPath) - } else { - throw "{0} already exists!" -f $xlsxPath - } - } - - try{ - $Excel = New-Object -ComObject "Excel.Application" - } catch { - throw "Could not create Excel.Application ComObject. Please verify that Excel is installed." - } - - $Excel.Visible = $false - $Excel.Workbooks.Open($xlsFile.FullName) | Out-Null - $Excel.ActiveWorkbook.SaveAs($xlsxPath, $xlFixedFormat) - $Excel.ActiveWorkbook.Close() - $Excel.Quit() -} - diff --git a/ConvertToExcelXlsx.ps1 b/ConvertToExcelXlsx.ps1 new file mode 100644 index 0000000..eb62c65 --- /dev/null +++ b/ConvertToExcelXlsx.ps1 @@ -0,0 +1,53 @@ +Function ConvertTo-ExcelXlsx { +[CmdletBinding()] + Param + ( + [parameter(Mandatory=$true, ValueFromPipeline)] + [string]$Path, + [parameter(Mandatory=$false)] + [switch]$Force + ) + Process + { + if(-Not ($Path | Test-Path) ){ + throw "File not found" + } + if(-Not ($Path | Test-Path -PathType Leaf) ){ + throw "Folder paths are not allowed" + } + + $xlFixedFormat = 51 #Constant for XLSX Workbook + $xlsFile = Get-Item -Path $Path + $xlsxPath = "{0}x" -f $xlsFile.FullName + + if($xlsFile.Extension -ne ".xls"){ + throw "Expected .xls extension" + } + + if(Test-Path -Path $xlsxPath){ + if($Force){ + try { + Remove-Item $xlsxPath -Force + } catch { + throw "{0} already exists and cannot be removed. The file may be locked by another application." -f $xlsxPath + } + Write-Verbose $("Removed {0}" -f $xlsxPath) + } else { + throw "{0} already exists!" -f $xlsxPath + } + } + + try{ + $Excel = New-Object -ComObject "Excel.Application" + } catch { + throw "Could not create Excel.Application ComObject. Please verify that Excel is installed." + } + + $Excel.Visible = $false + $Excel.Workbooks.Open($xlsFile.FullName) | Out-Null + $Excel.ActiveWorkbook.SaveAs($xlsxPath, $xlFixedFormat) + $Excel.ActiveWorkbook.Close() + $Excel.Quit() + } +} +