Чтение из Excel

Модераторы: Duncon, Naeel Maqsudov, Хыиуду, Игорь Акопян

matroskin
Сообщения: 38
Зарегистрирован: 17 ноя 2006, 10:53

20 мар 2007, 10:59

Подскажите плз что не так делаю..
Запускается, запускает эксель и... выкидывает ошибку "OLE Error 800A03EC"

Код: Выделить всё

...
function ReadExcel(FileName: string): Boolean;
 var  XLApp: Variant;
  s:string;
  begin
   XLApp:=CreateOleObject('Excel.Application');
   XLApp.Visible:=True;
    try
      XLApp.WorkBooks.open(filename);
    except
      XLApp.Quit;
      ShowMessage('Cant open Excel file');
    end;
   s:=XLApp.sheets[1].cells[1,0].text;
 XLApp.quit;
 end;
..
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

20 мар 2007, 12:02

в каком месте ошибка возникает?
Изображение
matroskin
Сообщения: 38
Зарегистрирован: 17 ноя 2006, 10:53

20 мар 2007, 12:25

эм.. на этой строчке

Код: Выделить всё

   s:=XLApp.sheets[1].cells[1,0].text;
Аватара пользователя
LAngel
Сообщения: 277
Зарегистрирован: 30 мар 2005, 08:19
Откуда: Ульяновск
Контактная информация:

21 мар 2007, 08:09

мне кажется, что cells(1,0) надо с круглыми скобками ;)
С уважением, Lost Angel...
Dr_Grizzly
Сообщения: 406
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

21 мар 2007, 10:02

Нет, скобки должны быть [ , ]
Вот тебе рабочий пример:
var
serv:variant;
begin
SerV:=CreateOleObject('Excel.Application');

If vartype(Serv)=varDispatch then
If OpenDialog1.Execute then
Serv.Workbooks.Open(OpenDialog1.FileName);

If vartype(Serv)=varDispatch then
Serv.visible:=true;

Edit1.text:=Serv.Workbooks[1].Worksheets[1].Cells[1,1];

If vartype(Serv)=varDispatch then
begin
Serv.Displayalerts:=false;
Serv:=Unassigned;
end;
end;

(просто редактируешь сообщение и всё ;) ИА)
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
matroskin
Сообщения: 38
Зарегистрирован: 17 ноя 2006, 10:53

21 мар 2007, 14:36

Dr_Grizzly, лан, пасиб попробую!=)
а почему у меня то ошибка возникает? я так и не понял..
Аватара пользователя
SergeyS
Сообщения: 193
Зарегистрирован: 21 ноя 2006, 17:12
Откуда: Хакасия, Абакан
Контактная информация:

21 мар 2007, 14:41

&quot писал(а):а почему у меня то ошибка возникает? я так и не понял..
найдите десять отличий:
1. Edit1.text:=Serv.Workbooks[1].Worksheets[1].Cells[1,1];
2. s:=XLApp.sheets[1].cells[1,0].text;

:)
Лелик_1044
Сообщения: 339
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

22 мар 2007, 13:12

Как просмотреть файл excel на формк
Открываю файл и он отображается у меня на форме
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Dr_Grizzly
Сообщения: 406
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

29 мар 2007, 12:28

Цитата:
Открываю файл и он отображается у меня на форме

Не совсем пойму, как это ты так открываешь файл??? Кинь код программы, поглядим.
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
Аватара пользователя
SergeyS
Сообщения: 193
Зарегистрирован: 21 ноя 2006, 17:12
Откуда: Хакасия, Абакан
Контактная информация:

29 мар 2007, 14:14

&quot писал(а):Как просмотреть файл excel на формк
Открываю файл и он отображается у меня на форме
используй TOleContainer
Ответить