Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение данных из конкретных ячеек в EXCEL, Чтение данных из конкретных ячеек в EXCE 
:(
    Опции темы
Allbert
Дата 27.4.2009, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Добрый день! Подскажите, пожалуйста, каким образом можно считать данные из конкретных ячеек в EXCELе? Заранее спасибо)
PM MAIL   Вверх
Allbert
Дата 28.4.2009, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



сделал так:
Код

uses ... ComObj, OleServer, ExcelXP;
...
procedure TForm1.ConnectClick(Sender: TObject);

begin
  ExcelApplication1.AutoConnect:=true;
  ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.OpenXML('C:\ROMT\ROMT_config.xls',EmptyParam));
  ExcelApplication1.ConnectTo(ExcelWorkbook1.Application);
  ExcelWorksheet1.ConnectTo(ExcelWorkbook1.ActiveSheet as ExcelWorksheet);
  ExcelApplication1.Visible[0]:=false;

If BSC_choice.Text= 'BSC2' Then begin ip := ExcelWorksheet1.Range['b2',EmptyParam];
                                port:= ExcelWorksheet1.Range['c2',EmptyParam]; end;
...

IdTelnet1.Host:=ip;
IdTelnet1.port:=port;
ExcelApplication1.Quit;
IDTelnet1.Connect;

end;

procedure TForm1.IdTelnet1Connected(Sender: TObject);
begin
ExcelApplication1.AutoConnect:=true;
  ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.OpenXML('C:\ROMT\ROMT_config.xls',EmptyParam));
  ExcelApplication1.ConnectTo(ExcelWorkbook1.Application);
  ExcelWorksheet1.ConnectTo(ExcelWorkbook1.ActiveSheet as ExcelWorksheet);
  ExcelApplication1.Visible[0]:=false;

If BSC_choice.Text= 'BSC2' Then begin
dev_BSC:= ExcelWorksheet1.Range['g2',EmptyParam] ;
dev_BS:= ExcelWorksheet1.Range['h2',EmptyParam] ; end;
...
ExcelApplication1.Quit;
end;



В первой процедуре все работает нормально, но когда добавляется тот же набор команд по работе с EXCEL во второй процедуре, но с другими ячейками, выдается ошибка INVALID VARIANT OPERATION. Где ошибка?
PM MAIL   Вверх
Данкинг
Дата 28.4.2009, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 5
Всего: 130



Цитата(Allbert @  28.4.2009,  09:15 Найти цитируемый пост)
INVALID VARIANT OPERATION.

Вероятно, где-то там есть пустая ячейка, значение которой ты хочешь взять.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Allbert
Дата 28.4.2009, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



нет, пустых ячеек там не было. проблема решилась изменением кода обращения к ячейкам с
Код

...ExcelWorksheet1.Range['b2',EmptyParam];

на 
Код

...ExcelWorksheet1.Range['b2',EmptyParam].Value2;

PM MAIL   Вверх
Allbert
Дата 29.4.2009, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Возник еще один вопрос.. При работе программы мне нужно, чтобы экселевские файлы, неимеющие отношения к программе,  не закрывались и не становились невидимыми. Изменил с 
Код

ExcelApplication1.Quit;

на 
Код

ExcelWorkbook1.Close('C:\ROMT\ROMT_config.xls');

Но другие экселевские документы все равно становятся невидимыми из-за 
Код

ExcelApplication1.Visible[0]:=false;

Но этот код мне нужен для проги.. Другими словами, как сделать, чтобы прога работала только с одним экселевским документом- 'C:\ROMT\ROMT_config.xls'. Посоветуйте, пожалуйста)
PM MAIL   Вверх
de_Nis
Дата 29.4.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старательный
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 19.10.2006
Где: Молдова

Репутация: нет
Всего: 6



Есть в сети книга:
Корняков Программирование документов и приложений MS Office в Delphi (496 с).
Может быть в ней можно найти ответы на многие вопросы?
--------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет…
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.