Как подключиться к Excel через ADODB.Connection (Ошибка)

1. ovadia 14.11.17 18:37 Сейчас в теме
Подскажите, пожалуйста, как починить ошибку:

Не удалось подключиться к файлу DataList {ВнешняяОбработка.XBRLConverter_v01.Форма.Форма.Форма(47)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно.


Код такой (варианты строки подключения выдают такую же ошибку):

ФайлБД = "C:\data\enumerator\DataList.xls";

        СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ФайлБД+";Extended Properties=""Excel 8.0;HDR=Yes; IMEX=1;""";
	//СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ФайлБД+";Jet OLEDB:Engine Type=5;"; 
	//СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +ФайлБД+";Persist Security Info=False;";
	//СтрокаПодключения = "Driver={Microsoft Excel Driver (*.xls)};Dbq=" + СокрЛП(ФайлБД) + ";";
	//СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "  + СокрЛП(ФайлБД) + ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""";
	
	Connection = Новый COMОбъект("ADODB.Connection");
	Connection.ConnectionString = СтрокаПодключения;

	Попытка
		Connection.Open();
	Исключение
		Сообщить ("Не удалось подключиться к файлу DataList " + ОписаниеОшибки());
		Возврат;
	КонецПопытки;
Показать


Установка пакета Data Connectivity Components https://www.microsoft.com/en-us/download/confirmation.aspx?id=23734 не помогает.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. antz 14.11.17 18:45 Сейчас в теме
И что у вас в строке подключения? У меня такое получилось:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Файл;Extended Properties="Excel 8.0;HDR=Yes; IMEX=1;"

Зачем к строке приплюсовывать объект? Плюсуйте путь.
3. ovadia 14.11.17 18:57 Сейчас в теме
(2) Сделал так. Ошибка не уходит.

ФайлБД = "C:\data\enumerator\DataList.xls";
СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ФайлБД+";Extended Properties=""Excel 8.0;HDR=Yes; IMEX=1;""";
4. antz 14.11.17 20:15 Сейчас в теме
(3) а если путь в кавычки?

Попробуйте собрать строку подключения через файл с расширением udl
5. a30v 14.11.17 20:48 Сейчас в теме
Какая версия ODBC для Excel установлена (32 и 64 разрядная)? Можно посмотреть в Панель управления - Администрирование - Источниках данных ODBC - Драйверы.
6. DarkUser 14.11.17 21:14 Сейчас в теме
ADODB должен быть той же разрядности, что и контекст, с которого происходит вызов.
7. user645801_yyyuuu123q 29.12.22 09:23 Сейчас в теме
а в Адо есть метод что то вроде как в ком?
Область = Excel.ActiveSheet.Range(Excel.ActiveSheet.Cells(1,1), Excel.ActiveSheet.Cells(1,ВсегоКолонок));
        Область.AutoFilter();
8. d.zhukov 1402 30.12.22 05:17 Сейчас в теме
Почему не используете встроенный метод 1С для работы с Excel ТабличныйДокумент?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот