Приложение Excel.Application не работает в PowerShell с использованием задания SQL, но работает из командной строки - PullRequest
2 голосов
/ 01 апреля 2011

Я использую PowerShell для разблокировки заблокированной электронной таблицы Excel. Когда я запускаю сценарий из задания (используя себя в качестве пользователя Proxy), часть сценария Excel не запускается. Когда я выполняю тот же сценарий непосредственно из командной строки, он работает нормально. Мой код:

#Unlock Attatchment 
$x = New-Object -comObject Excel.Application
$x.visible = $false
$x.DisplayAlerts = $False
$workbook = $x.Workbooks.Open($spreadsheetFileName,1,$false,
                              5,$spreadsheetPassword,$spreadsheetPassword)
$workbook.SaveAs($tmpFileName,1,$null,$null,$null,$null,$null,
                $x.XlSaveConflictResolution.xlLocalSessionChanges,
                $null,$null,$null,$null)
$x.Workbooks.Close()
$x.Quit()

Редактировать: я добавил логирование. Вот результаты журнала:

Exception calling "Open" with "6" argument(s): Microsoft Office Excel cannot access the file "_____"
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.

Ответы [ 4 ]

5 голосов
/ 08 апреля 2011

Хорошо!Оказывается, решение заключается в следующем (в случае, если это появляется в результатах поиска):

  1. Добавить каталог: C:\Temp
  2. Добавить каталог: C:\Windows\SysWOW64\config\systemprofile\Desktop

Это должно решить проблему.

1 голос
/ 14 июля 2016

Для меня решение включало создание этих двух папок:

C:\Windows\SysWOW64\config\systemprofile\Desktop
C:\Windows\System32\config\systemprofile\Desktop
1 голос
/ 08 апреля 2014

Для Windows 2012 x64 мне также пришлось создать папку ниже, чтобы она работала.

C: \ Windows \ System32 \ Config \ systemprofile \ Desktop

0 голосов
/ 24 октября 2017

Чтобы решить эту проблему:

  1. Добавлены следующие папки и снимите флажок «Только чтение» для обеих папок (на рабочем столе): C: \ Windows \ SysWOW64 \ Config \ systemprofile \ Desktop C: \ Windows \ System32 \ Config \ systemprofile \ Desktop
  2. Убедитесь, что прокси-сервер заданий SQL должен быть файлом Author for Excel
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...