Работа с 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.

См. также

Загрузка номенклатуры из 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 руб.

29.10.2014    210944    630    526    

445

Загрузка номенклатуры 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 форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 09.04.2024, версия 9.9 - 9.10)

14400 руб.

20.11.2015    151289    366    376    

502

Маркетплейсный загрузчик для 12-ти маркетплейсов в 1С:БП 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    32232    240    63    

122

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    101766    298    173    

314

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

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

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

4800 руб.

07.06.2022    15328    81    0    

62

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    215647    928    886    

942
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 02.08.13 01:10
Сообщение было скрыто модератором.
...
37. Volfy 65 25.07.16 14:56 Сейчас в теме
(1) Eugeneer, Мир не знал как у тебя бомбило... и ты решил рассказать?)
1c_ssnik; blich; +2 3
39. Артано 762 29.07.16 10:30 Сейчас в теме
(37) Volfy, влепил минус. Странная реакция на резонное замечание. Я думаю мало кто будет рад, если его работа в которую вложены силы, время, деньги будет использоваться кем-то без его ведома. Ну и вообще, тут собрались профессионалы, которые решают задачи и делятся своим опытом, стиль общения должен соответствовать
shu_vol; vittany; mars207; adhocprog; d.kolosova; +5
2. пользователь 02.08.13 01:18
Сообщение было скрыто модератором.
...
3. ltfriend 961 02.08.13 06:08 Сейчас в теме
(2) Eugeneer, это все не указано, потому что не имеет значения. работа с фоновыми заданиями не отличается ни от версии платформы, ни от конкретной конфигурации, ни от того, как работают пользователи.
+
4. пользователь 02.08.13 09:07
Сообщение было скрыто модератором.
...
5. ltfriend 961 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 вроде все понятно, но вот создание папки немного напрягает своей нелогичностью. Если есть более подробная информация зачем это надо, буду рад ознакомится, осталось чувство незавершенности поставленной задачи.
lexxxus; +1
9. ltfriend 961 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 516 26.03.14 15:55 Сейчас в теме
здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office


может быть дело в том, что по умолчанию отображаются только компоненты 64?
тогда можно так:
mmc -32
Файл, Добавить удалить оснастку, Службы компонентов
AloneWolf; maslyann; +2
14. capitan 2470 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 961 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 помогло. Всю голову сломал, пока не прочитал статью.
Dwarsha; +1
23. Deda 420 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"
Misstik; +1
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.
Dwarsha; +1
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 2847 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. 225 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 Сейчас в теме
+1 за ексель в фоновых
+
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 961 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 Сейчас в теме
Респект автору, все взлетело.
+
Внимание! Тема сдана в архив