Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Изменение OLEDBConnection.Connection в Excel


Автор: Elfix 31.7.2011, 10:52
Коллеги!

Есть файл Excel. В нем сводная таблица с внешним источником данных (таблица "смотрит" в базу данных MS Access и подтягивает данные прямо из нее). Средствами Delphi подключаюсь к файлу эксель и пытаюсь изменить строку подключения к источнику данных таким образом:

Код

Excel.Workbooks[1].Connections['data'].OLEDBConnection.BackgroundQuery := False;
Excel.Workbooks[1].Connections['data'].OLEDBConnection.Connection := OleVariant(ADOConnection1.ConnectionString);
Excel.Workbooks[1].Connections['data'].OLEDBConnection.BackgroundQuery := True;
Excel.Workbooks[1].Connections['data'].Refresh;


На строке Excel.Workbooks[1].Connections['data'].OLEDBConnection.Connection := OleVariant(ADOConnection1.ConnectionString); возникает ошибка "Ole error 800A03EC".

Что делать? Пробовал включить запись макросов в Excel и посмотреть какой код создаст эксель для изменения строки подключения. Там используется такой код Array("строка подключения"). Тип возвращаемого значения Variant. Почему мой код не срабатывает из Delphi?

Автор: Elfix 31.7.2011, 18:36
Товарищи! Спасайте... Надо только заменить строку подключения в Excel средствами Delphi.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)