如何编写PowerShell脚本实现PowerPoint更新后保存为pptx及ppsx格式
完整可运行PowerShell脚本
# 原有逻辑:打开PPT、等待加载后按A键更新Excel联动数据 Start-Process -FilePath "\\192.168.1.2\I\IT\Public\TV\NM\PrezentaceNM.pptx" Start-Sleep -s 15 $wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('A') Start-Sleep -s 45 # 新增逻辑:保存原文件、另存为PPSX、关闭PowerPoint # 绑定当前运行的PowerPoint实例 $pptCom = New-Object -ComObject PowerPoint.Application # 保存修改后的原PPTX文件 $pptCom.ActivePresentation.Save() # 配置PPSX输出路径,默认和原文件同目录仅替换后缀 $sourceFilePath = "\\192.168.1.2\I\IT\Public\TV\NM\PrezentaceNM.pptx" $outputPpsxPath = [System.IO.Path]::ChangeExtension($sourceFilePath, ".ppsx") # 执行另存为操作,参数32为PowerPoint内置的PPSX格式对应的常量值 $pptCom.ActivePresentation.SaveAs($outputPpsxPath, 32) # 退出PowerPoint程序并释放COM资源 $pptCom.Quit() [System.Runtime.Interopservices.Marshal]::ReleaseComObject($pptCom) | Out-Null Remove-Variable pptCom
注意事项
- 运行前确保设备已安装桌面版Microsoft PowerPoint,否则会提示找不到COM对象
- 可根据设备性能、PPT文件大小调整
Start-Sleep的等待秒数,避免更新操作未完成就提前执行保存 - 如需将PPSX文件保存到其他路径,直接修改
$outputPpsxPath变量为目标完整路径即可 - 首次运行脚本如果提示权限错误,可右键点击PowerShell选择「以管理员身份运行」后再执行
内容的提问来源于stack exchange,提问作者Jiří Skryja
相关产品推荐
相关产品推荐

