PowerShell设置数据validation为ON的Excel单元格值

我有一个受保护的电子表格,其中一些单元格的数据validation为ON。 我想使用Powershell将合法的值写入这些单元格。

尝试像这样的东西:

$Worksheet.Item($col,$row)=$value 

总是返回:

例外设置“Item”:“您要更改的单元格或图表受到保护,因此是只读的。

要修改受保护的单元或图表,请先使用“取消保护表”命令(“审阅”选项卡,“更改”组)删除保护。 您可能会提示您input密码。“在H:\ scripts \ ecmTrack_Shell.ps1:81 char:27 + $ WSheet.Cells.Item <<<<($ col,$ row)= $ value + CategoryInfo:NotSpecified 🙁 🙂 [],SetValueInvocationException + FullyQualifiedErrorId:CatchFromBaseAdapterParameterizedPropertySetValueTI

发现类似的问题正在解决在使用VBA来改变应用数据validation单元格的值 ,但没有看到这种方法可以适用于PShell,因为没有types正在申报。

任何帮助非常感谢!