gpt4 book ai didi

excel - 作为计划任务运行时,Powershell 脚本无法访问文件

转载 作者:行者123 更新时间:2023-12-01 18:10:54 24 4
gpt4 key购买 nike

我的 Powershell (2.0) 脚本具有以下代码片段:

$fileName = "c:\reports\1.xlsx"
$xl = new-object -comobject excel.application
$xlFormat = [Microsoft.Office.Interop.excel.XlFileFormat]::xlWorkbookDefault
$xl.displayalerts = $false
$workbook = $xl.workbooks.open($fileName)
#Code to manipulate a worksheet
$workbook.SaveAs($fileName, $xlformat)
$xl.quit()
$error | out-file c:\reports\error.txt

我可以在 Powershell 命令提示符下运行此脚本,没有任何问题。电子表格已更新,error.txt 为空。但是,当我在任务计划程序中将其作为任务运行时,第一行出现错误。

Exception calling "Open" with "1" argument(s): "Microsoft Office Excel cannot access the file 'C:\reports\1.xlsx'. There are several possible reasons: The file name or path does not exist. The file is being used by another program. The workbook you are trying to save has the same name as a currently open workbook.

我使用与在 Powershell 命令提示符中运行脚本相同的凭据运行该任务。当我手动运行脚本时,它可以毫无问题地打开、更新和保存电子表格。当我在任务计划程序中运行它时,它无法访问电子表格。

所有用户都可以读取/写入相关文件。我已验证可以使用相同的凭据在 Excel 中打开该文件。如果我制作一个新的电子表格并将其名称作为 $filename,我会得到相同的结果。我已验证任务管理器中没有 Excel.exe 的实例。

奇怪的是,如果我使用 get-content,就没有任何问题。另外,如果我制作一个新的电子表格,我不会有任何问题。

$fileName = "c:\reports\1.xlsx"
$xl = get-content $spreadsheet
$xl = new-object -comobject excel.application
$xlFormat = [Microsoft.Office.Interop.excel.XlFileFormat]::xlWorkbookDefault
$xl.displayalerts = $false
# Commented out $workbook = $xl.workbooks.open($fileName)
$workbook = $xl.workbooks.add()
#Code to manipulate a worksheet
$workbook.SaveAs($fileName, $xlformat)
$xl.quit()
$error | out-file c:\reports\error.txt

效果很好。因此 Get-ChildItem 可以毫无问题地打开文件。如果我手动运行 ComObject 可以打开该文件,但如果它作为任务运行则不能打开该文件。

我迷茫了。有什么想法吗?

最佳答案

我认为您遇到了 Excel 中的错误:

You have to create a folder (or two on a 64bit-windows):

(32Bit, always)

C:\Windows\System32\config\systemprofile\Desktop

(64Bit)

C:\Windows\SysWOW64\config\systemprofile\Desktop

I have had the same problem and this was the only solution i havefound.

来自TechNet Forums (来自PowerShell and Excel Issue when Automating)

关于excel - 作为计划任务运行时,Powershell 脚本无法访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com