# Форум 1С > Установка и администрирование 1С - Предприятие >  COM-объект и Excel

## lilyapo

Создаю COM-объект и пытаюсь открыть файл Excel:
	ex=Новый ComОбъект("Excel.Application");
	ex.WorkBooks.Open(Файл);
Файл существует, COM-объект создается, но при открытии файла Excel выдается сообщение:

_Ошибка при вызове метода контекста (Open)
	ex.WorkBooks.Open(Файл);
по причине:
Неизвестная ошибка

_Сталкиваюсь с этим впервые, на других компах всю жизнь все работает, с любой платформой 8.3
Если что-то с  Excel, то что?

----------


## avm3110

> Создаю COM-объект и пытаюсь открыть файл Excel:
> 	ex=Новый ComОбъект("Excel.Application");
> 	ex.WorkBooks.Open(Файл);
> Файл существует, COM-объект создается, но при открытии файла Excel выдается сообщение:
> 
> _Ошибка при вызове метода контекста (Open)
> 	ex.WorkBooks.Open(Файл);
> по причине:
> Неизвестная ошибка
> ...


Ты открываешь Апликайшон - а как ты это открываешь (интерактивно или же на сервере)? Опять же у тебя какой эксель (32-х разрядный или же 64-х разрядный) и в каком контексте пытаешься открыть (в 32-х разрядном клиенте или же на стороне 64-х разрядного сервера)?

----------


## lilyapo

Все очень просто.
Файловая база. 
Excel 2010. Файл лежит на том же диске, что и база и открывающая его обработка.
Никакого клиент-серверного режима нет.

----------


## avm3110

А попробуй "завернуть" в Попытку

Что выдаст?

Попытка
   Excel = Новый COMОбъект("Excel.Application");
   Excel.WorkBooks.Open(ИмяФайла);
Состояние("Обработка файла Microsoft Excel...");
Исключение
   Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!");
   Сообщить(ОписаниеОшибки());
   Возврат;
КонецПопытки;

----------


## lilyapo

Все то же самое.
Ошибка при вызове метода контекста (Open): Неизвестная ошибка
ОписаниеОшибки()=""

----------


## avm3110

[QUOTE=lilyapo;469920]Все то же самое.
Ошибка при вызове метода контекста (Open): Неизвестная ошибка

похоже у тебя проблема с com-ом.  А у тебя Excel нормально в реестре зареген? Ты его видишь в com-объектах?

Попробуй подключиться к открытому "ручками" экселю

_Как подключиться к запущенному Excel-евскому файлу в реальном времени, изменить его и даже не сохранять, а просто переключить окно на 1С и сразу же выгружать данные в табличную часть, лишь переключив окна_

 Excel = ПолучитьCOMОбъект(, "Excel.Application"); 
При этом первый параметр нужно оставить пустым. В этом случае при этом подцепится тот файл экселя, который был открыт последним, даже если порядок переключения окон был таким:
Excel1, Excel2, IE, Проводник, 1С (т.е. что-то и было открытым между 1с и экселевским файлом) — все равно откроется Excel2, потому что он был активен последним.

----------

lilyapo (20.12.2016)

----------


## lilyapo

Все получилось!
Спасибо огромное, фантастика!:dance:

----------


## KrisLis

> Все получилось!
> Спасибо огромное, фантастика!:dance:


Пожалуйста. расскажите, как решили проблему.
Такая же ситуация на одном из компьютеров. Перепробовали все рекомендации из интернета. Ничего не помогает.

----------


## lilyapo

Попробуй подключиться к открытому "ручками" экселю

Как подключиться к запущенному Excel-евскому файлу в реальном времени, изменить его и даже не сохранять, а просто переключить окно на 1С и сразу же выгружать данные в табличную часть, лишь переключив окна

Excel = ПолучитьCOMОбъект(, "Excel.Application"); 
При этом первый параметр нужно оставить пустым. В этом случае при этом подцепится тот файл экселя, который был открыт последним, даже если порядок переключения окон был таким:
Excel1, Excel2, IE, Проводник, 1С (т.е. что-то и было открытым между 1с и экселевским файлом) — все равно откроется Excel2, потому что он был активен последним.
Так я справилась с проблемой

----------

