如何用PowerShell打开带‘修改密码’的Excel文件
PowerShell打开带修改权限密码的Excel文件解决方案
你之前使用的PowerShell代码仅针对文件打开密码有效,无法处理修改权限密码(即VBA中WriteResPassword对应的权限锁)。在PowerShell里可以直接通过命名参数调用Excel COM对象的Workbooks.Open方法,实现和你提供的VBA代码完全等效的逻辑:
仅需指定修改权限密码的场景
$excel = New-Object -ComObject Excel.Application $wb = $excel.Workbooks.Open($filepath, WriteResPassword=$password)
同时存在打开密码和修改权限密码的场景
$excel = New-Object -ComObject Excel.Application $wb = $excel.Workbooks.Open($filepath, Password=$openPassword, WriteResPassword=$modifyPassword)
解释:Excel的Workbooks.Open方法包含多个参数,其中Password对应打开文件的密码,WriteResPassword对应修改权限的密码。PowerShell支持COM方法的命名参数调用,直接指定WriteResPassword参数即可正确解锁需要修改权限的Excel文件,这和VBA代码中WriteResPassword:=password的作用完全一致。
内容的提问来源于stack exchange,提问作者Yuka Morino
相关产品推荐
相关产品推荐

