Есть обработка, которая создает Excel файл, заполняет его и отправляет по почте. Обработка успешно отрабатывает, если запускать вручную. В регламентном задании выдает ошибку.
Вот кусок кода:
...
Excel = Новый COMОбъект("Excel.Application");
Excel.ScreenUpdating = 0;
ExcelWB = Excel.Workbooks.Add();
...
На третьей строке вылетает с ошибкой:
"Ошибка при вызове метода контекста (Add): Произошла исключительная ситуация (Microsoft Office Excel): Microsoft Office Excel не может открыть или сохранить документы из-за нехватки памяти или места на диске.
• Чтобы освободить память, закройте ненужные программы или книги.
• Чтобы освободить место на диске, удалите с этого диска ненужные файлы."
Естественно, и памяти, и места на диске еще много.
ОС Windows Server 2012x64. Платформа 8.2.19.83, SQL, пользователю USR1CV8 даны права администратора. Папка C:\Windows\SysWOW64\config\systemprofile\Desktop создана.
Да, ошибка почти та же, но у меня не ругается на команду Excel.Workbooks.Open(файлик) (попробовал только что, успешно открывает и закрывает существующий файл); Она отрабатывает под регламентом нормально. Почему-то ругается именно на ExcelWB = Excel.Workbooks.Add();
А сделать, как в (1) тоже не получится-там прописаны параметры, типа функций, которые через табличный документ не сделать. Пока что буду копать варианты, альтернативные ExcelWB = Excel.Workbooks.Add().
Спасибо за наводку.
Если кому-то интересно, получилось сделать через Excel.Workbooks.Open(ПутьКШаблону). Для этого приходится использовать что-то типа шаблона.
Похоже, что для создания файла методом Add() используются еще какие-то временные папки, помимо C:\Windows\SysWOW64\config\systemprofile\Desktop. Но сходу найти этой информации не удалось, поэтому оставляю так.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший