gpt4 book ai didi

excel - 如何将 .XLS 和 .XLSX 文件转换为 .PDF 格式并将它们返回到 Powershell 中的每个原始子文件夹?

转载 作者:行者123 更新时间:2023-12-03 00:03:05 24 4
gpt4 key购买 nike

我目前有一个 powershell 脚本,可以很好地将 Excel 电子表格转换为 PDF 文件,但我的问题是新文件出现在父文件夹中,而不是它们来自的特定子文件夹中。我当前的脚本如下所示:

$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 仍包含在新文件名中。我的最终目标是用 pdf 副本实际替换所有的 excel 文件,但我只是想先弄清楚这部分,然后我可以简单地编写一个脚本来删除所有的 excel 文件。
任何输入将不胜感激。
谢谢,
CJ

最佳答案

您可以使用 FullName属性并像这样替换扩展名:

($wb.FullName -replace '\.xlsx?$', '.pdf')

这应该适用于扩展名为 .xls 的文件或 .xlsx (我假设 XLXS 有问题的标题是错字?)

关于excel - 如何将 .XLS 和 .XLSX 文件转换为 .PDF 格式并将它们返回到 Powershell 中的每个原始子文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com