5

我正面临一个奇怪的问题。

当我运行这段代码时:

$Excel = New-Object -Com Excel.Application 
$book = $Excel.Workbooks.Add()
[threading.thread]::CurrentThread.CurrentCulture = 'en-US'
sleep 10
$book.saveas("c:\Temp\test.xlsx")
$Excel.quit()
Stop-Process -Name "Excel*"

在 PowerGui、POwerSHell 主机..任何地方,它都工作得很好。

如果我放入 .bat 并调用 powerhsell "c:\temp\excel.ps1" 也可以正常工作。

但是,如果我尝试将此人安排到计划任务中或通过 sql server 作业类型 cmd 运行,则会发生错误:

使用“1”参数调用“SaveAs”的消息异常:“Workbook 类的 SaveAs 方法失败”

只有当它被 SQL Server Jobs 调用(这也是一个简单的 cmd 命令并且该行与 .bat powerhsell "c:\temp\excel.ps1" 相同)时才会发生错误。

它可以是什么?我尝试更改文件格式..等..没有

多谢你们 :)

4

1 回答 1

7

解决方案是:

您必须创建一个文件夹(或在 64 位 Windows 上创建两个):

(32 位,始终)

C:\Windows\System32\config\systemprofile\Dektop

(64位)

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

解决方案在论坛中:

解决方案论坛 MS

于 2012-06-13T03:44:49.827 回答