Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо