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

2024-01-16

我目前有一个 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 文件。 任何意见将不胜感激。 谢谢, 希杰


您可以使用FullName属性并仅替换扩展名,如下所示:

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

这应该适用于具有扩展名的文件.xls or .xlsx(我假设XLXS有问题的标题是拼写错误吗?)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 如何检索 Mongodb 集合中的所有对象(包括 id)?

    我在用着Casbah https github com mongodb casbah and Salat https github com novus salat创建我自己的 Mongodb dao 并实现一个 getAll 方法 如下所示
  • 如何将 BufferedImage 保存为文件

    我正在使用imgscalr http www thebuzzmedia com software imgscalr java image scaling library用于调整图像大小的 Java 库 resize 方法调用的结果是 Buf
  • 将带有日期的字符串解析为日期时间对象[重复]

    这个问题在这里已经有答案了 如何将 01 Jan 1995 这样的字符串解析为Pythondatetime object 总的来说 您可以使用以下命令解析日期和时间字符串strptime功能于time or datetime模块 您的示例可
  • 如何在cocoa中模拟mac媒体键

    我需要模拟按下 mac 键盘上的媒体 功能键 从亮度到音量增大 减小的一切 这可能吗 如果是这样怎么办 我读过很多关于如何触发他们的新闻的文章 但不是这个 如果可能的话 我希望当您更改内容时 半透明的图标仍然出现在屏幕上 在 Swift 中
  • Visual C++:如何禁用特定链接器警告?

    我正在使用 CGAL 中的一个库 该库在代码编译的链接阶段会产生许多这种形式的链接警告 warning LNK4099 PDB vc80 pdb was not found with gmp vc80 mt sgd lib or at vc
  • 在android中放大图像视图时如何禁用抗锯齿?

    我有一幅像素艺术 我想放大它 问题是当我放大它时 它会因为抗锯齿而变得模糊 有没有办法直接从 xml 禁用抗锯齿功能 我希望它有用 Bitmap bmpSource BitmapFactory decodeResource getResou
  • 在 Android Studio 中运行应用程序时如何切换自动打开运行选项卡?

    有没有办法让 Android Studio 在运行应用程序时自动打开运行选项卡 解决办法是去Run gt Edit Configurations gt 选择 杂项 选项卡并检查Show logcat automatically
  • Subversion Server SSL 证书验证失败:以及其他原因

    我有一个 SVN 系统 运行得很好 但在最近升级后突然停止工作 我的设置 我有一个使用 VisualSVN Server 2 7 4 托管在 Windows 2008 服务器上的存储库 服务器使我能够随意生成自签名证书 根据需要输入我自己的
  • 从一个节点 A 到节点 B 的最大边权

    给定一个连通的无向图N节点 1 NN 1边缘 我们定义一个函数F a b where F a b 等于路径中的最大边权重a to b 我们如何找到总和F a b 对全部a b这样1 lt a b lt N 模 10 9 7 示例图 F a
  • SQL Server 2008 (R2) 的 CRUD SP 生成器

    我正在使用 SQL Server 2008 R2 是否有一个免费的脚本 实用程序可以为我的所有数据库表创建 CRUD SP 我以前有一份 但剧本丢了 Thanks I use SSMS 工具包 http www ssmstoolspack
  • C# 在运行时获取进程输出

    无论如何 是否可以重定向生成进程的标准输出并在发生时捕获它 我所看到的一切都只是在该过程完成后执行 ReadToEnd 我希望能够在打印时获得输出 Edit private void ConvertToMPEG Start the chil
  • Android 内存不足异常

    有什么办法可以处理吗OutOfMemoryException在Android中同时使用大量图片的Bitmap 我尝试了本网站给出的所有解决方案 即 GC Bitmap reset 我只是想知道在堆内存即将满之前是否可以生成警报 这样我就可以
  • ABAP ADT 先决条件?

    在 Eclipse 中建立与本地数据库的连接以开始在 ABAP 中进行开发需要什么 我已经安装了 ABAP 插件 但无法连接到数据库 有什么建议么 ABAP 开发工具 ADT https tools hana ondemand com ab
  • 从 Ada 程序启动可执行文件并读取结果

    I found this https stackoverflow com questions 32663224 why isnt my gnats standout file descriptor working问题和第一个答案包含一些示例
  • 在jqgrid中添加行

    我正在使用 jqGrid 并且它工作正常 我有一个场景 我必须在 jqGrid 中添加一个空白行 而不是弹出窗口来添加行 我该怎么做 您可以使用例如添加行数据 http www trirand com jqgridwiki doku php
  • 用C将客户端输入插入MySQL数据库

    如何编写一个 C 程序来获取 MySQL 服务器的客户端输入 我使用 Fedora 作为我的操作系统 这是我的代码 include
  • 如何判断 ASP.NET 应用程序中的 HTTP 标头何时已发送?

    长话短说 我有一个 ASP NET 应用程序 我正在尝试调试 在某些时候 在非常特殊的情况下 该应用程序将抛出异 常Response Redirect 陈述 Cannot redirect after HTTP headers have b
  • 如何使用 Linq 选择具有一对多关系的所有内容

    我有两张桌子 CREATE TABLE Thing Id int Name nvarchar max CREATE TABLE SubThing Id int Name nvarchar max ThingId int foreign ke
  • Google 地图未完全呈现在页面上?

    我的页面上有一个谷歌地图 其中有一个我自己构建的搜索窗格 可以随意显示和隐藏 假设它的一侧覆盖了地图的 200 个像素 问题是 当我调整地图大小时 窗格重叠的区域不会渲染 即地图由于某种原因不会在那里渲染 看看这个link http www
  • 如何将 .XLS 和 .XLSX 文件转换为 .PDF 格式并将它们返回到 Powershell 中的每个原始子文件夹?

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