Спасибо всем за участи , решение проблемы в посте № (13)
Создать папку C:WindowsSysWOW64configsystemprofileDesktop или C:WindowsSystem32configsystemprofileDesktop (в зависимости от разрядности вашей системы)
и через ADO
// <Описание функции>
//
// Параметры
// <Параметр1> — <Тип.Вид> — <описание параметра>
// <продолжение описания параметра>
// <Параметр2> — <Тип.Вид> — <описание параметра>
// <продолжение описания параметра>
//
// Возвращаемое значение:
// <Тип.Вид> — <описание возвращаемого значения>
//
Функция Подключить_ADO(ИмяФайла,HDR = Ложь) Экспорт
Connection = Новый COMОбъект(«ADODB.Connection»);
HDR = ?(HDR, «YES»,»NO»);
Попытка
//Excel 2000 — 2003
Connection.ConnectionString = «Provider=Microsoft.Jet.OLEDB.4.0;Data Source=» + ИмяФайла + «; Extended Properties=»»Excel 8.0; HDR=»+HDR+»; IMEX=1″»;»;
Connection.Open();
Исключение
Попытка
//Excel 2007
Connection.ConnectionString = «Provider=Microsoft.ACE.OLEDB.12.0;Data Source=» + ИмяФайла + «;Extended Properties=»»Excel 12.0; HDR=»+HDR+»;»»;Persist Security Info=False;»;
Connection.Open();
Исключение
Сообщить(ОписаниеОшибки());
Connection = Неопределено;
КонецПопытки;
КонецПопытки;
Возврат Connection;
КонецФункции
// Читает данные с листа Excel в таблицу значений
//
// ДиалогВыбораНомераЛиста — в случает нескольких листов предлагать пользователю интерактивно выбрать
// номер листа, НомерЛиста не учитывается
//
Функция АК_ПолучитьДанныеExcel(ИмяФайла, НомерЛиста = 1, ДиалогВыбораНомераЛиста = Ложь, HDR=Ложь) Экспорт
//НомерЛиста = 1;
//ДиалогВыбораНомераЛиста = Ложь;
//HDR=Ложь;
//Connection =
тзИсходныеДанные = Новый ТаблицаЗначений;
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
Возврат тзИсходныеДанные;
КонецЕсли;
Подключить_ADO(ИмяФайла,HDR);
Попытка
Если Connection = Неопределено Тогда
Возврат тзИсходныеДанные;
КонецЕсли;
ИмяЛиста = УстановитьИмяЛиста(НомерЛиста,ДиалогВыбораНомераЛиста);
Если ИмяЛиста = Ложь Тогда
Возврат тзИсходныеДанные;
КонецЕсли;
Если Не ЗначениеЗаполнено(ИмяЛиста) Тогда
Возврат тзИсходныеДанные;
КонецЕсли;
RecordSet = Новый COMОбъект(«ADODB.Recordset»);
ТекстЗапроса = «SELECT * FROM [» + ИмяЛиста + «]»;
Попытка
RecordSet.Open(ТекстЗапроса, Connection );
Исключение
Connection = Неопределено;
Возврат тзИсходныеДанные;
КонецПопытки;
КоличествоКолонок = RecordSet.Fields.Count;
Для к =1 По КоличествоКолонок Цикл
тзИсходныеДанные.Колонки.Добавить(«Колонка» + Строка(к));
КонецЦикла;
НумерацияКолонки = 0;
ПризнакПервойСтроки = Истина;
Пока RecordSet.EOF() = 0 Цикл
НовСтрока = тзИсходныеДанные.Добавить();
НумерацияКолонки = 0;
Для каждого Позиция Из RecordSet.Fields Цикл
НовСтрока[НумерацияКолонки] = Позиция.Value;
НумерацияКолонки = НумерацияКолонки + 1;
Если ПризнакПервойСтроки Тогда
тзИсходныеДанные.Колонки[НумерацияКолонки-1].Заголовок = Позиция.Name;
КонецЕсли;
КонецЦикла;
RecordSet.MoveNext();
ПризнакПервойСтроки = Ложь;
КонецЦикла;
Исключение
#Если Клиент Тогда
Сообщить («Проблемы с ADO: » + ОписаниеОшибки());
#КонецЕсли
КонецПопытки;
Попытка
Connection.Close();
Исключение
КонецПопытки;
Connection = Неопределено;
Возврат тзИсходныеДанные;
КонецФункции
//По заданному номеру листа возвращает его имя в книге Excel
//
// ДиалогВыбораНомераЛиста — в случает нескольких листов предлагать пользователю интерактивно выбрать
// номер листа, НомерЛиста не учитывается
//
Функция УстановитьИмяЛиста(Знач НомерЛиста, ДиалогВыбораНомераЛиста = Ложь) Экспорт
Если Connection = Неопределено Тогда
Возврат «»;
КонецЕсли;
НовОб = Новый COMОбъект(«ADOX.Catalog»);
НовОб.ActiveConnection = Connection;
КолЛистов = НовОб.Tables.Count;
Если КолЛистов = 0 Тогда
Возврат «»;
ИначеЕсли НомерЛиста > КолЛистов Тогда
Возврат «»;
КонецЕсли;
Если ДиалогВыбораНомераЛиста Тогда
Если КолЛистов = 1 Тогда
НомерЛиста = 1;
Иначе
Страницы = Новый СписокЗначений();
Для Каждого Таблица Из НовОб.Tables Цикл
Страницы.Добавить(Таблица.Name,Таблица.Name);
КонецЦикла;
Страница = Страницы.ВыбратьЭлемент(«Укажите нужную страницу»);
Если Страница = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Возврат Страница.Значение;
КонецЕсли;
ИначеЕсли НомерЛиста = 0 Тогда
НомерЛиста = 1;
Иначе
КонецЕсли;
Возврат НовОб.Tables(НомерЛиста — 1).Name;
КонецФункции // ПолучитьИмяЛиста()
-
Приветствую.
Столкнулся с проблемой:
Создал обработку, которая запускает Excel, читает файл, заполняет его и записывает.
На клиенте все великолепно выполняется.
Создал регламентное задание, которое запускает в определенное время это на сервере.
При выполнении на сервере вылезает ошибка про то, что типа MS Excel не удалось получить доступ к файлу. При этом доподлинно известно, что ком. объект Excel даже не создался (нет его в процессах диспетчера задач).
Примечательно, что если запустить обработку клиентом с машины, где установлен сервер 1С, то все выполняется.Excel = Новый COMОбъект("Excel.Application"); Книга = Excel.WorkBooks.Open("D:DstOrder.xls");
Чувствую, что дело тут в том, что при работе с клиента Excel запускается из-под пользователя в реальном сеансе, а в случае сервера — под пользователем хоть и с полными правами, но без запущенного сеанса.
Сервер Windows Server 2008 R2 Standart. Service Pack 1
Как это обойти? -
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
1) Файл D:DstOrder.xls действительно существует на сервере?
2) У пользователя под которым запущен сервер есть право доступа к каталогу D:Dst? -
1. Да, файл существует. Обработка при запуске на этом же сервере из-под клиента выполняется без проблем.
2. Доступ есть. Пользователь — администратор. Пробовал файл в разные папки класть.— Объединение сообщений, 15 авг 2014 —
Полный текст ошибки. Ошибка от имени Microsoft Excel, однако процесса EXCEL в диспетчере задач нет!
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «D:DstOrder.xls». Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.— Объединение сообщений, 15 авг 2014 —
8.3.4.496
Последнее редактирование: 15 авг 2014 -
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Т.е. сервер (ragent.exe и т.д.) стартует от имени Администратора? Или все же от USR1CV82 (не знаю как там по умолчанию под 8.3 пользователь называется).
-
У меня пользователь USR1CV81 со старых времен. Он входит в группу Администраторы.
Сейчас провел эксперимент. Зашел на сервер от имени этого пользователя и в клиенте запустил обработку — без проблем.
-
Попробовал вместо COMОбъект использовать ПолучитьCOMОбъект. Вот результат
Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147221021(0x800401E3): Операция недоступна
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
likalim и Mark768 нравится это.
-
Спасибо тебе, добрый человек. Сам бы не допер…
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Да не за что.
Не совсем я это, разум это коллективный.. -
Небольшое уточнение:
При выборе «Текущий пользователь», обработка на сервере запускает Excel только в том случае, если на сервер выполнил вход кто-нибудь из пользователей.
Если это условие не выполняется, то получаем ошибку:Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается
На вкладке «Удостоверения» есть 3-й вариант запуска — указать конкретного пользователя и пароль.
Я указал пользователя, от имени которого работает сервер 1С (USR1CV81).
В таком варианте обработка запускает Excel при отсутствии работающих пользователей на сервере.
Это меня устраивает.В моем случае не бывает работающих пользователей на сервере и тем более, запускающих Excel
Могу предположить, что при запуске Excel любым пользователем (не USR1CV81) могут возникнуть проблемы.
Например, Excel запускается и работает, однако при старте выдает «Невозможно использовать связывание и внедрение объектов». -
Приветствую.
Когда в этой теме мне очень помогли. Восстановили сервер после аварии. Теперь восстанавливаю возможность работы пользователя USR1CV81 с Excel.
Столкнулся с тем, что в Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM теперь нет ветки Microsoft Excel Application, хотя сам Excel установлен.
Что я сделал не так? -
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Переустанавливать эксель пробовали ?
-
Да, уже несколько раз и разные версии.
Вычитал в сети, что если нет ветки явно, то нужно в реестре найти его наименование в виде кода. В реестре нашел, но его кода в Настройка DCOM тоже нет. -
Offline
Ardak
- Регистрация:
- 21 дек 2015
- Сообщения:
- 1
- Симпатии:
- 1
- Баллы:
- 1
Вдруг кому понадобится
Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты. -
Offline
limus80
- Регистрация:
- 30 май 2013
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
важное как мне кажется дополнение
ко всему вышесказанному надо добавить учетке права входа в качестве сервиса на компьютер
без этого у меня не работало на W2K12R2 -
Offline
Gucci76
Опытный в 1С- Регистрация:
- 9 мар 2008
- Сообщения:
- 75
- Симпатии:
- 0
- Баллы:
- 26
Здравствуйте.
У меня похожая проблема, но только с ВОРДом
В файловом варианте я могу Новый COMОбъект(«Word.Application»), а в клиент-серверном нет.
Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM тут НЕ нашел ворда (открывал через команду «mmc comexp.msc /32»).
Содержание
- 1с произошла исключительная ситуация microsoft office excel нет доступа к файлу
- БП 8.3.5.1383 Ошибка COMОбъект(«Excel.Application»)
- Регламентное задание/ Ошибка открытия Excel
- Microsoft Excel не удается получить доступ
- Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу
1с произошла исключительная ситуация microsoft office excel нет доступа к файлу
Описание ошибки:
Проявила себя в клиент-серверной базе. Релиз платформы 1С: Предприятие 8.3.13.1644.
Полная формулировка ошибки:
<Доработки Документ.УстановкаЦенНоменклатуры.Форма.Доп_ФормаИмпортXLS.Форма(83)>: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘C:1C_ArhivТест загрузка прайсов[имя_файла].xlsx’. Это может быть вызвано одной из следующих причин.
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
При доработке в расширении для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая должна загружать данные из файлов Excel и при попытке выполнения в коде РабочаяКнига = ExcelПриложение . WorkBooks . Open ( ФормаИмпортXLS.ИмяФайла ); . Что удивительно, но в более ранней редакции Комплексной, 1.1, эта проблема не возникала в этом же коде, хотя обе базы на одном сервере.
Проблема оказалась нова для автора этого текста только в 2020 году, хотя самой проблеме достаточно много времени (более 5 лет на момент написания). В обсуждении данной ошибки на сайте infostart.ru «Ошибка открытия файла Excel на сервере» обсуждается несколько предложений по решению проблемы, среди которых наиболее популярный вариант решения. Так же там много попутных предложений по настройке прав на стороне сервера, если вдруг популярный вариант окажется не актуальным.
Популярность этого варианта подтверждается исчерпывающим обсуждением и вот на этом ресурсе: «v8.x: [РЕШЕНО] Ошибка при вызове метода контекста (Open) при работе с Excel»
Проблема была рещена данным простым решением, но обращу внимание на то, что данное действие должно быть выполнено на сервере, а не на локальном рабочем месте.
Источник
БП 8.3.5.1383 Ошибка COMОбъект(«Excel.Application»)
Ексель = Новый COMОбъект(«Excel.Application»);
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
(8) Создай (в блокноте) файл с расширением .vbs
Вставь туда
set xl = CreateObject(«Excel.Application»)
xl.Workbooks.Add
xl.Visible = 1
Сохрани и запусти.
Что получилось?
1) Попробуйте это
При подключении к базе com-объектом вылетает ошибка (файл с ошибкой во вложении, вылетает на строчке кода при создании ком-объекта: Коннектор = Новый COMОбъект(«V8.COMConnector»);)
На форумах по данной ошибке нашла решение, но попробовав это проделать, у меня не получилось уже на первом пункте, возможно не хватает прав. Прошу вас мне помочь.
1. Администрирование — Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ — Создать приложение – Создать новое приложение – вводим имя «V82.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Администратор)
2. В появившейся ветке V82COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов — bincomcntr.dll
3. Правой кнопкой по ветке V82COMConnector – Свойства – Безопасность – Снял галку «Принудительная проверка доступа для приложений» — Поставил галку «Применить политику программных ограничений» — Уровень ограничений «Неограниченный»
2) Если не помогло
1. Не установлен Microsoft Excel
2. Для работы ком-объекта необходимо наличие папки
For Windows 2008 Server x64
For Windows 2008 Server x86
1) Проделал.
2) Папка есть, только вместо Desktop — по русски Рабочий стол
Источник
Регламентное задание/ Ошибка открытия Excel
Если запускаю вручную обработку, все ок. Если через регламентное задание, то при открытии файла, вываливается ошибка, не может его открыть:
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘c:PRICE.XLS’. Это может быть вызвано одной из следующих причин.
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
Открываю файл так:
Excel = Новый COMОбъект(«Excel.Application»);
Excel.Workbooks.Open(ПутьКПрайсу);
НомерКниги = Excel.Workbooks.Count;
EXCEL_Файл = Excel.Workbooks.Item(НомерКниги);
Нашел ответ на других форумах:
При работе с Excel на сервере ОБЯЗАТЕЛЬНО. создать папку C:WindowsSysWOW64configsystemprofileDesktop или C:WindowsSystem32configsystemprofileDesktop (в зависимости от разрядности вашей системы).
Я столкнулся с подобной проблемой:
v8: Регламентное задание запускается, но не выполняется.
Перепробовав все у меня ничего не получилось.
Вот тут:
v8: 8.2 Работа с FTP ( failed (at start/before it took off)
меня назвали неудачнегом и ткнули носом в ADO.
Но через ADO нельзя навести красоты, отчет для начальства формируется.
Пока в поисках другого пути решения задачи.
Источник
Microsoft Excel не удается получить доступ
Столкнулся с такое проблемой. Переустановили сервер, фоновые задания 1С, которые ранее отлично работали с файлами Эксель теперь в журнале регистрации выдают ошибку:
<ОбщийМодуль.КС_ОбменДанными.Модуль(209)>: Ошибка при вызове метода контекста (Open)
по причине:
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «C:Temp1Cdata3.xls». Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
Что самое странное, если запустить этот кусок кода через вн.обработку, то выполняется все на отлично, т.е. ошибка только когда фоновое задание выполняется.
Что только не делал, перезапускал сервер, давал все права на директории с этими файлами Эксель, давал права на папку где установлен Эксель. ничего не помогает 🙁
(2)
ДвоичныеДанные.Записать(КаталогВрФл + «data3.xls»);
Попытка
Эксель = Новый COMОбъект(«Excel.Application»);
Исключение
Возврат;
КонецПопытки;
Книга = Эксель.WorkBooks.Open(КаталогВрФл + «data3.xls»);
Лист = Книга.WorkSheets(1);
Ошибка в предпоследней строке. и только под фоновым заданием.
Источник
Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу
Про клиент-сервер, Вам правильно написали выше. От себя замечу, что для вашей задачи эксель собственно и не нужен. Грубый код (что непонятно спрашивайте)
Поясню, ПутьКФайлу — содержит полный путь к файлу НА СЕРВЕРЕ т.к. процедура с этими методами должна быть серверной. Как работать с клиентом и сервером в двух словах не описать. Суть в том, что надо забрать файл с клиента (с ПК пользователя) и поместить его на сервер (туда где «крутится» 1с). Прилагаю два внешних модуля, которые сам писал и использую во всех своих конфигурациях для работы с файловой системой. Один модуль серверный, второй клиент. Какой-какой из названий понятно. Там все грубо, писалось под себя, но думаю разберетесь.
(4) если ставлю серверную папку, выходит сообщение:
Приложения, позволяющие открыть ссылки данного типа не установлены.
На самом сервере офис есть, файлы открываю, но видимо какая-то проблема с самим офисом?
(2) Можно более подробно, не совсем поняла, что значит передать файл на сервер?
На текущий момент на процедура на сервере содержит код:
//Пытаемся подключиться к Excel
Попытка
Excel = новый COMОбъект(«Excel.Application»);
Исключение
Сообщить(«Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.»);
Возврат;
КонецПопытки;
//Подключились удачно, открываем файл
Excel.Workbooks.Open(ИмяФайла);
(8) ну значит у вас две проблемы
1. Файл должен быть доступен с кластера 1С, в том числе по правам доступа службы под которой запущен агент сервера
2. На сервере должен быть установлен Word и зарегистрирован COM (обычно автоматом регистрируется при установке), но возможны еще проблемы с разрядностью
а вообще если у вас только чтение файла, без записи, лучший вариант сделать как в (5) будет быстрее читать и не требует офиса
Про клиент-сервер, Вам правильно написали выше. От себя замечу, что для вашей задачи эксель собственно и не нужен. Грубый код (что непонятно спрашивайте)
Поясню, ПутьКФайлу — содержит полный путь к файлу НА СЕРВЕРЕ т.к. процедура с этими методами должна быть серверной. Как работать с клиентом и сервером в двух словах не описать. Суть в том, что надо забрать файл с клиента (с ПК пользователя) и поместить его на сервер (туда где «крутится» 1с). Прилагаю два внешних модуля, которые сам писал и использую во всех своих конфигурациях для работы с файловой системой. Один модуль серверный, второй клиент. Какой-какой из названий понятно. Там все грубо, писалось под себя, но думаю разберетесь.
(17) смотрите, чтобы было понятно. Клиент — это тот компьютер, с которого запущен сеанс работы с 1с. Сервер — это тот компьютер где запущена платформа. Если совсем наглядно.
1. Файловая база на ПК. Клиент и сервер в одном месте. Не важно в какую процедур (серверную или клиентскую) путь к файлу передается, он будет одним и тем же.
2. Сервер 1с-предприятия, к нему подключается клиент с другого ПК. Получается клиент одно, а сервер другое. Пользователь указал путь к файлу на своем ПК (C:sharefail.doc) — это локальный путь. В клиентских процедурах он правильный, т.к. они выполняется на клиенте т.е. на ПК пользователя и там этот путь правильный и корректный. Но если вы передадите этот путь в серверную процедуру, то получите ошибку т.к. файл будет искаться не на компьютере пользователя. а на сервере (там где служба сервера работает) и там он найден естественно не будет.
Поэтому универсальных вариантов два:
1. Перемещать файл на сервер.
2. Использовать сетевые пути. доступные и с клиента и с сервера.
Источник
Добрый день! Дайте права пользователю 1cv83 на Microsoft Excel Application в Службах компонент.
Нажмите на “Пуск/Start”-> “Панель управления/Control Panel”
Далее “АдминистрированиеAdministrative Tools”-> “Службы компонентов/Component Services”
Откройте папку “Службы компонентов/ Component Services” и выберите “Настройка DCOM/DCOM Config”
Среди служб выберите “Microsoft Excel Application” и откройте его свойсва, вкладку “Безопасность/Security” и в разделе “Разрешения на запуск и активацию/Launch and Activation Permissions” настроить разрешения – выбрать “Настроить/Customize” и нажать “Изменить/Edit”.
Добавьте пользователя 1cv83 и нажмите “Применить/Apply” в свойствах безопасности компоненты.
Заключительным этапам будет создание папки с соответствующими правами пользователю 1cv83
C:WindowsSystem32configsystemprofileDesktop – для Microsoft Office 2010
C:WindowsSysWOW64configsystemprofileDesktop – для Microsoft Office 2007 (windows server x64)
C:WindowsSystem32configsystemprofileDesktop – для Microsoft Office 2007 (windows server x86)
Желаем удачи и скорейшего решения проблемы!
Ошибка работы 1С 8 с Excel: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу
Описание ошибки:
Проявила себя в клиент-серверной базе. Релиз платформы 1С: Предприятие 8.3.13.1644.
Найденные решения:
Полная формулировка ошибки:
{Доработки Документ.УстановкаЦенНоменклатуры.Форма.Доп_ФормаИмпортXLS.Форма(83)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘C:1C_ArhivТест загрузка прайсов[имя_файла].xlsx’. Это может быть вызвано одной из следующих причин.
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
При доработке в расширении для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая должна загружать данные из файлов Excel и при попытке выполнения в коде РабочаяКнига = ExcelПриложение.WorkBooks.Open(ФормаИмпортXLS.ИмяФайла);. Что удивительно, но в более ранней редакции Комплексной, 1.1, эта проблема не возникала в этом же коде, хотя обе базы на одном сервере.
Проблема оказалась нова для автора этого текста только в 2020 году, хотя самой проблеме достаточно много времени (более 5 лет на момент написания). В обсуждении данной ошибки на сайте infostart.ru «Ошибка открытия файла Excel на сервере» обсуждается несколько предложений по решению проблемы, среди которых наиболее популярный вариант решения. Так же там много попутных предложений по настройке прав на стороне сервера, если вдруг популярный вариант окажется не актуальным.
Популярность этого варианта подтверждается исчерпывающим обсуждением и вот на этом ресурсе: «v8.x: [РЕШЕНО] Ошибка при вызове метода контекста (Open) при работе с Excel»
Проблема была рещена данным простым решением, но обращу внимание на то, что данное действие должно быть выполнено на сервере, а не на локальном рабочем месте.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
23-09-2020
Журавлев А.С.
(Сайт azhur-c.ru)