![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Variant does not reference an automation object [D5, D6, Win95/98, Win2k]
Chainik © (2003-01-08 13:07:00)Помогите, плиз, чайнику. Уже переискался. Выдает эту ошибку, когда я пытаюсь достать данные из Excel"я. Хочу просто из экселевского файла (уже существующего) извлечь хоть какие-нибудь данные, т.е. разобраться с этим начальным этапом, а потом уж и дальше разбираться (чтобы извлекать из определенного столбца по какому-то условию). Делаю:
procedure TForm1.Button1Click(Sender: TObject);
var vExcel, vWorkSheet: OLEVariant;
begin
vExcel := CreateOLEObject("Excel.Application");
VExcel.AssignTofile("my.xls");
Edit1.Text:=vExcel.WorkBooks.WorkSheet.Cells[1,1];
Edit1.Text:=vWorkSheet.Cells[1,1];
Edit2.Text:=vWorkSheet.Cells[2,1];
end;
но выдает выше приведенную ошибку. Может я вообще не тем путем иду и это как-то по другому делается.
Chainik (2003-01-08 13:59:00) [1]
> Наталия © (08.01.03 13:55)
Спасибо, я это и сделал, но вот тут у меня выше вопрос возник.
Наталия (2003-01-08 13:58:00) [2]E.Quit;
E:=unassigned;
Chainik (2003-01-08 13:55:00) [3]Ура, все получилось. Наталии огромное спасибо.
Только у меня возник очередной вопрос, вы уж извините.
У меня (Win2000)потом в диспетчере задач зависают в процессах все эти запуски Excel"я. Как тут можно освобождать память?
Наталия (2003-01-08 13:55:00) [4]Задай полный путь
Chainik (2003-01-08 13:33:00) [5]
>to Наталия ©
пробую, пишет что не может найти мой файл - my.xls
Chainik (2003-01-08 13:32:00) [6]
>to asmith
да, а как это исправить?
Наталия (2003-01-08 13:23:00) [7]Попробуй так:
vExcel.WorkBooks.open("\rep.xls",true);
Edit1.Text:=vExcel.WorkBooks[1].WorkSheets[1].Cells[1,1];
Здесь
Edit1.Text:=vWorkSheet.Cells[1,1];
Edit2.Text:=vWorkSheet.Cells[2,1];
vWorkSheet разве создан?
asmith (2003-01-08 13:15:00) [8]А в каком месте ругается? На AssignTofile? Если да, то СОМ объект просто не создан - какие-то проблемы с Excel.