Подниму старую тему. В 2009-й понадобилось сделать так, чтобы отчеты в виде Excel-файлов могли формироваться в пакетном задании, выполняемом на сервере. Понятное дело, ComExcelDocument_RU сразу пошел лесом, потому что не инкапсулирует конструктор, работает через COM и объявлен как клиентский класс, но дело не в этом. Пакетник крутится на Windows Server 2008 R2 (64-битном - других R2 не бывает), и вот стала в пакетном задании на вызове SysExcelWorkbook.SaveAs() стабильно вылезать ошибка, мол, метод завершен неверно. "Я его и так, и эдак, со словами и без слов", провозился не один день с вариантами вызова метода, а
дело оказалось вот в чем: в системном профиле виндов в Windows Server 2008 (обычном и R2) какого-то фига не стало каталога Desktop - может, разработчики виндов посчитали, что он больше не нужен или еще что... Если этот каталог создать, то ошибка на вызове SaveAs() волшебным образом пропадает!
Соотв., нужно создать каталог
- для Windows 2008 Server x64 (включая R2) - вот тут:
Код:
%SystemRoot%\SysWOW64\config\systemprofile\Desktop
- для Windows 2008 Server x86 - вот тут:
Код:
%SystemRoot%\System32\config\systemprofile\Desktop