私は現在、ExcelスプレッドシートをPDFファイルに変換するのにうまく機能するpowershellスクリプトを持っていますが、私の問題は、新しいファイルが元の特定のサブフォルダーではなく、親フォルダーに表示されることです。私の現在のスクリプトは次のようになります。
$path = "c:\users\me\Documents\Test\sub-test"
$xlFixedFormat = "Microsoft.Office.Interop.Excel.xlFixedFormatType" -as [type]
$filter = Get-ChildItem -Path $path -include *.xls, *.xlsx -recurse
$objExcel = New-Object -ComObject excel.application
$objExcel.visible = $false
foreach($wb in $filter)
{
$filepath = join-path -Path $path -ChildPath ($wb.basename + ".pdf")
$workbook = $objExcel.workbooks.open($wb.fullname, 3)
$workbook.Saved = $true
"saving $filepath"
$workbook.ExportAsFixedFormat($xlFixedFormat::xlTypePDF, $filepath)
$objExcel.Workbooks.close()
}
$objExcel.Quit()
ここで、$filepath の Childpath パラメーターを ($wb.fullname + ".pdf") に変更すると、実行時に完全な正しいパスがリストされますが、新しいファイル名に .xls がまだ含まれているためエラーが発生します。私の最終的な目標は、実際にすべてのExcelファイルをpdfコピーに置き換えることですが、最初にこの部分を理解しようとしていただけで、後ですべてのExcelファイルを削除するスクリプトを書くことができます. 任意の入力をいただければ幸いです。ありがとう、CJ