【发布时间】:2019-08-22 03:46:54
【问题描述】:
我正在尝试执行用于密码保护 Excel 文件的 PowerShell 脚本。
这是脚本:
Set objExcel = CreateObject(“Excel.Application”)
objExcel.Visible = True
objExcel.DisplayAlerts = FALSE
Set objWorkbook = objExcel.Workbooks.Add
Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Cells(1, 1).Value = Now
objWorkbook.SaveAs “C:\Test.xlsx”,,”%reTG54w”
objExcel.Quit
我尝试使用“以 PowerShell 运行”运行它,但它会自动关闭,我也尝试使用 PowerShell ISE,结果如下:
它的文字是这样的:
At C:\Users\gasgu\OneDrive\Desktop\pwoershell.ps1:14 char:39
+ objWorkbook.SaveAs “C:\Test.xlsxâ€,,â€%reTG54wâ€
+ ~
Missing expression after ',' in pipeline element.
At C:\Users\gasgu\OneDrive\Desktop\pwoershell.ps1:14 char:39
+ objWorkbook.SaveAs “C:\Test.xlsxâ€,,â€%reTG54wâ€
+ ~
Missing argument in parameter list.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : MissingExpression
我从这个网址找到了这个脚本:https://devblogs.microsoft.com/scripting/how-can-i-password-protect-an-excel-spreadsheet/
但如果值得一提的话,我现在要做的是从我的 PC 中提取一个 Excel 文件 (.xlsx) 并用密码保护它(创建一个新副本),在这个脚本中我没有理解是它是否从某个地方选择了 excel 文件,因为我没有看到明确说明这一点的行。
编辑:我正在执行的脚本最终不是 PowerShell,根据@BigBen 的说明(请参阅 cmets 和批准的答案),该脚本是 VBS。他在 PowerShell 中提供了执行所需结果的脚本。
【问题讨论】:
-
这看起来像 VBScript,而不是 PowerShell。
-
你确定吗?在网站中,他们将其称为 powershell,以及其他示例
-
当然。那不是Powershell。该页面的原始问题可以追溯到 2005 年。我认为它当时在不同的站点上,或者它被错误地迁移到了 Powershell 论坛。
-
哦,也许我们正在做点什么:) 你知道我可以实现我需要的方法吗?密码保护一个excel文件?我需要自动完成,我正在使用 SSIS,我可以执行 powershell、VB 脚本、C# 脚本
标签: excel powershell