自动化时出现PowerShell和Excel问题

Lae*_*ior 5 excel powershell vba excel-vba sql-server-2008

我正面临着一个奇怪的问题.

当我运行此代码时:

$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*"
Run Code Online (Sandbox Code Playgroud)

在PowerGui,POwerSHell主机......在任何地方,它都是美丽的.

如果我输入.bat并调用powerhsell"c:\ temp\excel.ps1"也能正常工作.

但是,如果我尝试将此人安排到计划任务或由SQL服务器作业类型cmd运行,则会发生错误:

使用"1"参数调用"SaveAs"的消息异常:"工作簿的SaveAs方法失败"

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

它可以是什么?我试过更改fileformat..etc ..什么都没有

多谢你们 :)

Lae*_*ior 7

解决方案是:

你必须创建一个文件夹(或64位窗口上的两个):

(32位,总是)

C:\ WINDOWS\system32 \设置\ systemprofile\Dektop

(64位)

C:\ WINDOWS\Syswow64资料\ CONFIG\systemprofile \桌面

解决方案在论坛中:

解决方案论坛MS