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 サーバー ジョブ タイプ cmd で実行しようとすると、エラーが発生します。

"1" 個の引数を指定して "SaveAs" を呼び出すメッセージ例外: "Workbook クラスの SaveAs メソッドが失敗しました"

SQL Server ジョブによって呼び出された場合にのみ (これは単純な cmd コマンドであり、行は .bat powerhsell "c:\temp\excel.ps1" と同じです)、エラーが発生します。

それは何ですか?ファイル形式を変更しようとしました..など..そして何もしませんでした

みんなありがとう :)

4

1 に答える 1

7

解決策は次のとおりです。

フォルダーを 1 つ (または 64 ビット Windows では 2 つ) 作成する必要があります。

(常に 32Bit)

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

(64ビット)

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

解決策はフォーラムにあります:

ソリューション フォーラム MS

于 2012-06-13T03:44:49.827 に答える