Работа с Excel в фоновом задании

01.08.13

Интеграция - Загрузка и выгрузка в Excel

Встала задача. По электронной почте приходят письма с вложениями таблиц Excel. Получение почты производится встроенным клиентом 1С фоновым заданием. Необходимо было по расписанию несколько раз в день извлекать из новых писем вложения и загружать из них данные. Тут я столкнулся с проблемой - работать с Excel в фоновом задании ни через COM, ни через ADO не удавалось. Вываливалась ошибка. Нигде в сети четкого решения проблемы я не обнаружил. В итоге, собирая информацию по крупицам из разных источников (порой и вовсе не связанных с 1с) и нескольких дней мучений все же я решил данную проблему. Ниже я опишу свое решение, чтобы помочь таким же, как я )

Начну свой рассказ.

Попытка подключиться к Excel через COM объект

ExcelApp = Новый COMОбъект("Excel.Application");

приводило к ошибке "Интерфейс не поддерживается".

Если использовать ADO

CтрокаСоединения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
    ИмяФайла + ";Extended Properties=""Excel 8.0;HDR=NО;IMEX=1""";

СоединениеADO = Новый COMОбъект("ADODB.Connection");
СоединениеADO.ConnectionString = СтрокаСоединения;
СоединениеADO.Open();

то возникала ошибка "указанный поставщик не найден".

Сразу оговорюсь, что Microsoft Office на сервере был установлен и при обычном запуске обработки (не в фоновом задании) все проходило на ура.

Так как фоновые задания выполняются от имени пользователя, под которым работает сервер 1С:Предприятие (обычно это USR1CV82), то возникло логичное предположение, то у этого пользователя не достаточно прав. Для эксперимента этому пользователю были выданы права администратора и фоновое задание завершилось успешно. Однако, это был не вариант. Требовались минимально возможные права и я окунулся в мир поиска информации в глобальной сети.

Итак. Первое что удалось выяснить, это то, что пользователю USR1CV82 необходимо дать права на запуск DCOM Microsoft Excel Application (прошу прошения, могу путаться в понятиях, но смысл, что делать,  думаю, будет понятен).

Для этого необходимо:

1. Нажать кнопку Пуск и выбрать Панель управления.

2. Дважды щелкнуть значок Администрирование и выбрать пункт Службы компонентов.

3. В левой панели окна "Службы компонентов" дважды щелкнуть пункт Службы компонентов, дважды щелкнуть пункт Компьютеры и выбрать Мой компьютер.

4. Выбрать папку Настройка DCOM.

5. В окне сведений найти объект Microsoft Excel Application, щелкнуть его правой кнопкой и выбрать пункт Свойства (здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office).

6. Открыть вкладку Безопасность.

7. В разделе Разрешения на запуск выбрать пункт Настроить и нажать кнопку Изменить.

8. Добавить пользователя USR1CV82.

Источник: http://technet.microsoft.com/ru-ru/library/cc778126(WS.10).aspx

Ниже поясняющие скриншоты.

 

Однако, после произведенных описанных выше настроек фоновое задание так и не заработало.

При работе с COM объектом экземляр Excel успешно создавался, но открыть файл не получалось

ExcelApp = Новый COMОбъект("Excel.Application");
ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла); // ОШИБКА!

выводилось сообщение об ошибке

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "C:\xls_test\test.xls". Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Попытки подключиться через ADO выдавало все тоже сообщение об отсутствии поставщика.

Поиски в просторах сети были продолжены и решение таки было найдено:

Необходимо создать папку

  • для Windows Server x64

    C:\Windows\SysWOW64\config\systemprofile\Desktop
     
  • для Windows Server x86

    C:\Windows\System32\config\systemprofile\Desktop

Данное расположение папок указано для Office 2007. Для Office 2010 не зависимо от разрядности платформы необходимо создавать папку C:\Windows\System32\config\systemprofile\Desktop (данный факт так же потратил не мало моего времени). В общем, если создали папку, а ошибки не исчезли, создайте вторую. Так же необходимо дать права на созданную папку пользователю USR1CV82. Практика показала, что достаточно прав, выдаваемых системой по умолчанию.

Источник: http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64

После проделанных всех настроек на тестовом сервере фоновое задание наконец то прошло успешно.

Однако на рабочем сервере при подключение к Excel через COM меня ждало фиаско - задание просто зависало и завершить его можно было только перезапуском сервера 1С:Предприятия. Зависало в момент открытия файла (ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла);). Я так предполагаю, что при открытии Excel открывает какое-нибудь окно и ждет ответа пользователя. Но проверить не удалось, так как доступа к рабочему серверу у меня не было и все настройки по моей просьбе на нем производил админ.

В итоге все взелетело с использованием ADO и успешно работает.

Надеюсь, данная статья поможет кому-нибудь съэкономить время при реализации подобных задач.

p.s. Ну и забыл упомянуть, что у пользователя USR1CV82, естественно, должны быть права на обрабатываемые файлы Excel.

См. также

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210136    620    524    

439

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150698    367    375    

501

Маркетплейсный загрузчик для 12-ти маркетплейсов в "БП 3", "УТ 11", "КА 2", ERP, УНФ

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы сделаете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, "Детский мир", Казань-Экспресс, "Леруа Мерлен", ЭНФАНТА (Акушерство), ЛаМода, Летуаль, "Твой дом" в документы "Отчет комиссионера (агента) о продажах" и другие, может работать в "Бухгалтерия 3", "Бухгалтерия 3 КОРП", УТ 11, УНФ, КА 2, ERP. Возможность подключить любые маркетплейсы. Анализ продаж ОЗОН. 30 дней БЕСПЛАТНОГО пользования!

1800 руб.

12.08.2021    31888    226    63    

117

SALE! 20%

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 4000 руб.

09.11.2016    214894    925    886    

939

Загрузка данных отчета о реализации товаров из Excel файла СберМегаМаркет

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса СберМегаМаркет для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11 и Управление нашей фирмой, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

4800 руб.

07.06.2022    15069    79    0    

60

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101355    296    173    

312
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 02.08.13 01:10
Сообщение было скрыто модератором.
...
37. Volfy 65 25.07.16 14:56 Сейчас в теме
(1) Eugeneer, Мир не знал как у тебя бомбило... и ты решил рассказать?)
1c_ssnik; blich; +2 3 Ответить
39. Артано 760 29.07.16 10:30 Сейчас в теме
(37) Volfy, влепил минус. Странная реакция на резонное замечание. Я думаю мало кто будет рад, если его работа в которую вложены силы, время, деньги будет использоваться кем-то без его ведома. Ну и вообще, тут собрались профессионалы, которые решают задачи и делятся своим опытом, стиль общения должен соответствовать
shu_vol; vittany; mars207; adhocprog; d.kolosova; +5 Ответить
2. пользователь 02.08.13 01:18
Сообщение было скрыто модератором.
...
3. ltfriend 954 02.08.13 06:08 Сейчас в теме
(2) Eugeneer, это все не указано, потому что не имеет значения. работа с фоновыми заданиями не отличается ни от версии платформы, ни от конкретной конфигурации, ни от того, как работают пользователи.
4. пользователь 02.08.13 09:07
Сообщение было скрыто модератором.
...
5. ltfriend 954 02.08.13 10:11 Сейчас в теме
(4) Eugeneer, статья не о том, как читать / записывать данные в Excel (об этом и так не мало написано), а о том, что бы работать с Excel в фоновом задании необходимы дополнительные настройки системы. И какие именно тут и описано. И именно об этом и написано в анонсе. Если вам не понятно/не интересно/не нужно - ставьте свой минус и проходите мимо.
EvgeniuXP; d.kolosova; +2 Ответить
41. Boudybuilder 35 08.10.16 01:44 Сейчас в теме
(4) Eugeneer, полезная статья. Надоели Вы уже со своей критикой. Автор молодчара.
21. VVi3ard 52 16.03.15 12:50 Сейчас в теме
(2) Eugeneer, не подскажите компоненту Native API для работы?

Автору спасибо, все так как он и написал в интернете все что тут написано есть, но разбросано по сайтам, тут же готовая инструкция.

По поводу:

"Однако на рабочем сервере при подключение к Excel через COM меня ждало фиаско - задание просто зависало и завершить его можно было только перезапуском сервера 1С:Предприятия."

Дело в том что эксель показывает диалоговое окно и ждет реакции пользователя, а т.к. это окно не кто не видит то и реакции нет.

Что бы избежать подобных моментов нужно:
Эксель = Новый COMОбъект("Excel.Application");
Эксель.Visible = Ложь;
Эксель.DisplayAlerts=Ложь;

Еще раз большое вам спасибо за статью и за отличное оформление со скриншотами.
Ольга_tmp; 7OH; +2 Ответить
22. Lapitskiy 1057 22.03.15 06:11 Сейчас в теме
(21) VVi3ard, да к Eugeneer также присоединюсь, вопрос, Женя постоянно много высказывается, но ссылок нет.
Евгений, ссылку на рабочую API NATIVE - в студию плиз.
6. Pavel777777 68 27.11.13 15:06 Сейчас в теме
Спасибо, что докопались до решения и поделились) .. была такая же проблема (но я отложил поиск решения "на потом") ... мне помогло "для Windows Server x64 - C:\Windows\SysWOW64\config\systemprofile\Desktop" .

Также добавил бы в копилку решений подобных проблем:
1) иногда в такой работе с эксель возникает ошибка при обращении к параметрам страницы (через PageSetup) = такое бывает, если не установлен "принтер по умолчанию" ... например, на новом сервере
2) иногда в такой работе с эксель возникает ошибка, когда используется открытие файла Open ... = бывает, что при первом запуске Эксель просит ввести Инициалы , если не произвести запуск Экселя интерактивно и не подтвердить инициалы, то будет возникать ошибка
d.kolosova; lexxxus; p.d.; proal; savinsva; VVi3ard; +6 Ответить
7. mehalyna 04.01.14 17:37 Сейчас в теме
Спасибо за совет. Давно искала решение подобной задачи. Теперь обязательно воспользуюсь. Еще раз спасибо!
8. lm7777 05.02.14 18:13 Сейчас в теме
Спасибо, помогло создание папки C:\Windows\SysWOW64\config\systemprofile\Desktop. С DCOM вроде все понятно, но вот создание папки немного напрягает своей нелогичностью. Если есть более подробная информация зачем это надо, буду рад ознакомится, осталось чувство незавершенности поставленной задачи.
9. ltfriend 954 05.02.14 18:30 Сейчас в теме
(8) lm7777, решение с папкой было найдено здесь
http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64
к сожалению, более подробной информации дать не могу (
10. lm7777 05.02.14 18:38 Сейчас в теме
(9) спасибо. Ссылку видел, но то ли с английским плохо, то ли лыжи не едут... В общем в сути вопроса так и не разобрался. Оставлю в не решенных, так как в данный момент высокая загрузка на проектах. Когда-нибудь надеюсь до разберусь. Еще раз спасибо.
11. lm7777 05.02.14 18:41 Сейчас в теме
12. kiruha 388 06.02.14 12:49 Сейчас в теме
А зачем
ExcelApp = Новый COMОбъект("Excel.Application");ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла); // ОШИБКА!

а не
Excel= ПолучитьCOMОбъект(ИмяФайла)
13. siddy 515 26.03.14 15:55 Сейчас в теме
здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office


может быть дело в том, что по умолчанию отображаются только компоненты 64?
тогда можно так:
mmc -32
Файл, Добавить удалить оснастку, Службы компонентов
AloneWolf; maslyann; +2 Ответить
14. capitan 2466 24.04.14 15:44 Сейчас в теме
Если основательно погуглить - найдется способ поставить 32-х разрядный офис на 64-х разрядный сервер.
15. manaxov83 44 26.06.14 14:35 Сейчас в теме
Респект ТЕБЕ, мои трех дневные танцы с бубном закончены))))
16. A.Golub 06.11.14 12:47 Сейчас в теме
Некрофилия, конечно, но вдруг кому пригодится.

ExcelApp = Новый COMОбъект("Excel.Application");

Вот эта строка должна выполнятся на стороне клиента. И такой ошибки ("Интерфейс не поддерживается") не будет. И все будет работать хорошо. Хотя через ADO работать будет быстрей, причем намного. Да и "отвязываешься" от установленного MS Office.
17. ltfriend 954 07.11.14 13:01 Сейчас в теме
(16) A.Golub, а как вы вызовете эту строку на стороне клиента, когда код выполняется на сервере? Например, в фоновом задании.
18. DikSer 01.12.14 07:33 Сейчас в теме
Товарищи этакая проблема, у меня файл непонятного формата, открывается екселем с руганью что файл не установленного формата, но табличка загружается, а вот ком и АДО не хотят этот файл открывать... Файл открыл текстовым редактором походу xml файлик. Возможно ли такой псевдо xls открыть через ком или адо как таблицу ексель?
19. jobkostya1c_ERP 100 01.02.15 09:07 Сейчас в теме
20. 3abxo3 11.02.15 09:14 Сейчас в теме
Автору огромное спасибо! Решение с папкой C:\Windows\SysWOW64\config\systemprofile\Desktop помогло. Всю голову сломал, пока не прочитал статью.
23. Deda 419 08.04.15 08:46 Сейчас в теме
Автору благодарность! Помогло сэкономить много часов работы!
24. Deryni 23 14.04.15 13:43 Сейчас в теме
Спасибо большое за решение. Помогло создание папки как было описано для офиса 2010.
Столкнулся с таким. Но как ни странно на одном сервере проблем никаких не было. Папка создалась сама.
На другом - да.
Разница в том, что на одном сервер 1С крутится под системной учётной записью NTAuthority\System, а на другом (где была проблема) - под доменным admin.
На первом сервере ещё пришлось искать как установить под системной учётной записью принтер.
Если кому надо - решение тут
https://support.microsoft.com/ru-ru/kb/184291/en-us

Экселю нужен принтер если хочется устанавливать параметры страницы в файле.
25. rom-x 152 24.04.15 11:01 Сейчас в теме
C пунктом 5 не соглашусь
5. В окне сведений найти объект Microsoft Excel Application, щелкнуть его правой кнопкой и выбрать пункт Свойства (здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office).


Настройка реестра

Запускаем REGEDIT
Открываем ветку Computer\HKEY_CLASSES_ROOT\AppID\EXCEL.EXE, если ее нет, то создаем
Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
Выполняем команду "mmc comexp.msc /32", которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
После этого в Component Services должен появиться "Microsoft Excel Application"
26. blackjack666 15 22.05.15 17:15 Сейчас в теме
Большое спасибо. Боюсь представить, сколько бы времени я потратил без вашей публикации.
27. fire_ball 10.06.15 11:53 Сейчас в теме
Очень выручили. Спасибо, что докопались!
28. ssk148819881 17.06.15 07:49 Сейчас в теме
Автор, большущий плюс тебе, сколько бы времени еще я промучилась с этим регламентным заданием
29. oleg_tur 11.08.15 21:08 Сейчас в теме
Спасибо, что докопались до решения и поделились) .. была такая же проблема мне помогло "для Windows Server x64 - C:\Windows\SysWOW64\config\systemprofile\Desktop" .
30. Захаров_Николай 11 26.08.15 11:10 Сейчас в теме
Я так предполагаю, что при открытии Excel открывает какое-нибудь окно и ждет ответа пользователя.
Да это действительно так. Частично поможет
Excel.DisplayAlerts = Ложь;
 Excel2.EnableEvents = Ложь;

Но есть сообщения которые нужно один раз все же в пользовательском режиме подтвердить. Возможно есть какая-то настройка. Но я не нашел.
31. Skotarev 15 08.10.15 17:08 Сейчас в теме
Спасибо. Взлетело с использованием способа - создание папки C:\Windows\SysWOW64\config\systemprofile\Desktop.
32. Dwarsha 30.12.15 17:04 Сейчас в теме
Спасибо огромное! 3 дня мучений, попыток обойти использование Экселя и созданий регламентных заданий, и наконец набрела на вашу статью.
Всего.одна.долбаная.папка..
Спасибо еще раз
33. Flares 01.02.16 18:12 Сейчас в теме
Супер Спасибо! У меня просто на сервере не работала загрузка, помогло:

C:\Windows\SysWOW64\config\systemprofile\Desktop
34. orsoft 23.03.16 23:38 Сейчас в теме
Спасибо!

Для Office 2013 помогло.

Но после исправления настроек "Службы компонентов..." и после создания Папок, мне пришлось перезагружать сервер, перезапус службы 1с не помог.
35. Hryuckinnen 19.05.16 19:50 Сейчас в теме
если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке

Команда mmc comexp.msc /32 вызывает ту же консоль для 32-разрядных компонентов, и Excel там будет.
А за папку спасибо)
36. mikolamail 06.06.16 19:38 Сейчас в теме
Ничего из вышеперечисленного не помогло.
Помогло:
В настройках DCOM, в свойствах объект Microsoft Excel Application,
на вкладке Удостоверение.
Поменять запускающий пользователь на Текущий пользователь
Uza; GoodZone; igrned; maz0; +4 Ответить
38. sound 535 29.07.16 10:22 Сейчас в теме
Блин, реально помогло с папками. Спасибо.
40. Rustam_a 11.08.16 14:47 Сейчас в теме
После установки office 2016 при загрузке Excel возникали подобные ошибки
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "C:\xls_test\test.xls". Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Решение с созданием папки помогло и сэкономило кучу времени. Спасибо большое за статью!
42. qazaz2 16 25.11.16 13:28 Сейчас в теме
Автору спасибо, папка помогла.

Жаль только что последнее время гугль все успешнее заменяет мне моск(
43. xzorkiix 34 20.02.17 14:47 Сейчас в теме
Помогло. Столкнулись для Win2008 + excel2013. Спасибо! Магия с папками, моё почтение.

свои пять копеек критики - из текста не сразу понятно помогает трюк с папками или нет.

mkdir C:\Windows\SysWOW64\config\systemprofile\Desktop &&
mkdir C:\Windows\System32\config\systemprofile\Desktop
44. Захаров_Николай 11 20.02.17 15:40 Сейчас в теме
(43)
Этот трюк, с жесткой ссылкой всегда и везде помогает. (только обязательно с жесткой, а не символической).
45. MaxS 2826 20.02.17 18:56 Сейчас в теме
Ещё замечено (у клиентов)), что нелицензионный офис на сервере может нормально работать в пользовательском режиме и в тоже время выдавать ошибки при попытке работать с файлом через com или ado.
46. Захаров_Николай 11 20.02.17 20:22 Сейчас в теме
(45) Может все-таки это от сборки зависит?
47. BushNik 19.07.17 09:48 Сейчас в теме
Помогло следующее. В службах компонентов:
1. На вкладке Безопасность добавить права для пользователя от которого запускается Excel в Разрешения на запуск и активацию и в Разрешения на доступ.
2. На вкладке Удостоверение поставить Текущий пользователь.
Никаких папок desktop создавать не пришлось.
buddha667; +1 Ответить
55. Mopkobo4ka 27 19.03.18 16:04 Сейчас в теме
(47) спасибо огромное! Словами не описать как вы помогли мне!
Создание папок не сработало. Только ваша рекомендация!
71. buddha667 25.08.21 21:58 Сейчас в теме
(47) У меня папки Desktop и так существовали, 1с сервер работал от имени системы, поэтому на вкладке Безопасность добавлял, но потом вернул все по умолчанию. Решение было именно на вкладке Удостоверение - Текущий пользователь
48. BushNik 21.07.17 09:49 Сейчас в теме
Магия какая-то, сегодня перестало работать. Начало выводить ошибку
{ВнешняяОбработка.Обработка1.МодульОбъекта(3460)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Не удалось найти "С:\Файл.xlsx". Проверьте правильность ввода имени и расположения файла.

При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.

В общем проблема была в том, что папка где лежит файл .xlsx была расшарена. Из-за этого не работало. Решил сохранением в не расшаренную папку и копированием потом в расрашенную.
49. Kennik 13 26.09.17 11:22 Сейчас в теме
Спасибо автору. Файл стал открываться.
50. Wrols 89 02.11.17 09:23 Сейчас в теме
Большое спасибо! Получилось!
51. AntonKulmetev 06.12.17 01:37 Сейчас в теме
Отлично!!! Все получилось! Работает! Спасибо большое!!!

Команда mmc comexp.msc /32 и права USR1CV8 (локальный запуск и локальная активация)
+
Права USR1CV8 на изменение папки C:\Windows\SysWOW64\config\systemprofile\Desktop
52. BoneD 615 11.12.17 11:51 Сейчас в теме
Спасибо!
Решил проблему работы с Excel в отраслевой конфигурации Аренда недвижимости. Сервак х64, тонкий клиент х86. Ошибка при попытке открыть файл xls. Оказалось достаточно создать каталог "C:\Windows\SysWOW64\config\systemprofile\Desktop" и всё заработало. Сервак 1С запускается под доменной учёткой, у него права админа даже есть.
53. Chebureck 23.01.18 12:04 Сейчас в теме
Автору огромное спасибо!
54. setrak 150 21.02.18 11:22 Сейчас в теме
Добрый день, друзья.
У меня была тоже ошибка при открытии файла эксель в фоновом режиме: .... Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу ....
Перепробовал все что написано, не помогло. сервер 1с и эесель 64 бита и т.п.
В конце концов оказалась проблема в учетной записи. Настроил запуск DCOM от системной учетной записи, и все заработало.
Прикрепленные файлы:
56. uri1978 137 16.05.18 15:57 Сейчас в теме
Автору спасибо! Здорово помогли.
57. tSirkul 20.07.18 14:26 Сейчас в теме
Докладываю: аналогичная проблема при коннекте к V83.Application
---
Ошибка при вызове метода контекста (Connect)
...
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.10.xxxx): Ошибка доступа к файлу 'C:\Windows\system32\config\systemprofile'. 183(0x000000B7): Невозможно создать файл, так как он уже существует.
---
решилась в итоге явным указанием пользователя от которого системе следует запускать 1CV83 Application.
Рекомендации из статьи были выполнены, но сами по себе, без указания пользователя, не помогли.
Прикрепленные файлы:
58. Xellsing 33 07.05.19 01:12 Сейчас в теме
Автору респект. Решение с папкой C:\Windows\SysWOW64\config\systemprofile\Desktop помогло
59. maslyann 13 17.07.19 13:58 Сейчас в теме
Всё проделал, но не особо помогло.
Появилась ошибка "недостаточно места".
В итоге в Excel ещё настройки безопасности. Убрать галочки со всех пунктов на скрине.
И все взлетело:)
Прикрепленные файлы:
60. eridy 26.07.19 06:10 Сейчас в теме
Супер ! Три дня бился пока на статью не вышел. Спасибо автору.
61. Serg O. 224 18.09.19 14:32 Сейчас в теме
После создания COM-объекта - надо отключить ВСЕ предупреждения :

Excel.DisplayAlerts = 0; //29.07.2019


и ещё, для Office 2016? - идёт проверка "валидности" файлов... надо включить FileValidation=1

Excel.FileValidation = 1;

источник: https://forum.infostart.ru/forum9/topic150921/ #16
62. Gendelf 16.10.19 14:27 Сейчас в теме
Проблема решилась в службе компонентов, но кроме разрешения на запуск добавьте ещё права на доступ. Нигде про это не пишут, но именно это мне и помогло.
63. Светлый ум 406 15.11.19 04:56 Сейчас в теме
64. Jekka84 23.06.20 08:57 Сейчас в теме
Автору спасибо. Решил проблему "приложению не удается получить доступ к файлу"
65. DanDy 51 04.09.20 11:13 Сейчас в теме
А зачем вообще юзать для этого Excel ?
Прочитать из Excel можно и встроеными средствами 1С через ТабличныйДокумент например

ТабличныйДокумент (SpreadsheetDocument)
Прочитать (Read)
Вариант синтаксиса: Из файла

Синтаксис:

Прочитать(<ИмяФайла>, <СпособЧтенияЗначений>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла табличного документа.
<СпособЧтенияЗначений> (необязательный)

Тип: СпособЧтенияЗначенийТабличногоДокумента.
Определяет, каким образом нужно интерпретировать значения, считываемые из исходного документа XLS, XLSX или ODS.
При загрузке табличного документа из формата Excel 97 - 2010 и OpenOffice Calc, в случае если в ячейке исходного документа содержалось значение типа Дата или Число, то в ячейку результирующего табличного документа это значение попадает в зависимости от значения этого параметра.
Значение по умолчанию: Текст.
Описание варианта метода:

Чтение табличного документа из файла.
Вариант синтаксиса: Из потока

Синтаксис:

Прочитать(<Поток>, <СпособЧтенияЗначений>, <ТипФайлаТаблицы>)
Параметры:

<Поток> (обязательный)

Тип: Поток, ПотокВПамяти, ФайловыйПоток.
Поток для чтения табличного документа.
<СпособЧтенияЗначений> (необязательный)

Тип: СпособЧтенияЗначенийТабличногоДокумента.
Определяет, каким образом нужно интерпретировать значения, считываемые из исходного документа XLS, XLSX или ODS.
При загрузке табличного документа из формата Excel 97 - 2010 и OpenOffice Calc, в случае если в ячейке исходного документа содержалось значение типа Дата или Число, то в ячейку результирующего табличного документа это значение попадает в зависимости от значения этого параметра.
Значение по умолчанию: Текст.
<ТипФайлаТаблицы> (необязательный)

Тип: ТипФайлаТабличногоДокумента.
Формат, в котором табличный документ хранится в потоке.
При чтении табличного документа из потока допустимы следующие форматы: MXL, ODS.
Значение по умолчанию: MXL.
Описание варианта метода:

Чтение табличного документа из потока.
Описание:

Считывает табличный документ из файла.
Позволяет считывать табличный документ из файла табличного документа Microsoft Excel 97 - 2010 ( *.xls и *.xlsx) или электронной таблицы OpenOffice Calc ( *.ods).

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать("C:\My Documents\Таблица1.mxl");
67. ltfriend 954 04.09.20 12:55 Сейчас в теме
(65) Вы на дату статьи посмотрите.
Вот выдержка из синтаксис-помощника 8.2:

ТабличныйДокумент (SpreadsheetDocument)
Прочитать (Read)
Синтаксис:

Прочитать(<ИмяФайла>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла табличного документа.
Описание:

Считывает табличный документ из файла.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать("C:\My Documents\Таблица1.mxl");
Показать

Попробуйте прочитать в табличный документ Excel в версии 8.2.
p.s. Чтение и запись Excel файлов через табличный документ используется как только появилась такая возможность.
68. DanDy 51 04.09.20 13:00 Сейчас в теме
(67) Дату не смотрел. Не понятно по какой причине инфостарт запихнул это в список новых))))
69. DanDy 51 04.09.20 13:01 Сейчас в теме
(67) А вообще дополните уж тогда статью что в 8.3 всё гораздо проще... Мало ли кто наткнется и будет городить лишнего
unknown181538; +1 Ответить
66. DanDy 51 04.09.20 11:15 Сейчас в теме
вот например хорошая статья с примерами.
и вопрос решался за 15 минут а не за 3 дня...

https://infostart.ru/1c/articles/1050198/
70. vlad636 4 08.09.20 08:26 Сейчас в теме
Респект автору, все взлетело.
Оставьте свое сообщение