![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при активизации последней ячейки [D6, WinXP]
Drakosha © (2005-02-02 12:50:00)Делаю так:
XLApp :=TExcelApplication.Create(self);
XLApp.ConnectKind :=ckNewInstance;
XLApp.DisplayAlerts[0] :=False;
XLApp.Connect;
wsFilePath :='c:\a.xls';
XLApp.Workbooks.Open(wsFilePath,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,0);
try
WorkBk :=XLApp.Workbooks.Item[1];
WorkSheet :=WorkBk.Worksheets.get_Item(1) as _WorkSheet;
WorkSheet.Cells.SpecialCells(xlLastCell,EmptyParam).Activate;
except
XLApp.Workbooks.Close(0);
XLApp.Quit;
XLApp.Disconnect;
При активации последней ячейки вылазит эксепшен(даже в тру-ексепт)
типа: невозможно выполнить метод активате обьекта ранж :(
Прога обрабатывает большое число экселевских файлов.Я даже не могу понять почему некоторые файлы не проходят. Открываю их смотрю вроде файл как вайл а фиг работает.
Может кто сталкивался с подобным. Помогите плиз.
КаПиБаРа (2005-02-09 11:15:00) [1]Drakosha (09.02.05 11:07) [11]
Ячейка определяется номером столбца и строки.
Какие номера имеет Cell := WorkSheet.Cells.SpecialCells(xlLastCell,EmptyParam)?
Соответствуют они действительности?
Drakosha (2005-02-09 11:08:00) [2]2КаПиБаРа
Что значит "Проверь номер строки/столбца ячейки"?
2Digitman
"Невозможно выполнить метод Activate обьекта Range"
Drakosha (2005-02-09 11:07:00) [3]2КаПиБаРа
Что значит "Проверь номер строки/столбца ячейки"?
2Digitman
"Невозможно выполнить метод Activate обьекта Range"
Digitman (2005-02-04 08:06:00) [4]
> типа: невозможно выполнить метод активате обьекта ранж
приведи полное и точное сообщение об ошибке, а не "типа"..
КаПиБаРа (2005-02-04 07:57:00) [5]Проверь номер строки/столбца ячейки
Drakosha (2005-02-02 18:17:00) [6]вылетает на cell.activate
КаПиБаРа (2005-02-02 14:01:00) [7]Drakosha (02.02.05 12:50)
Ошибка происходит при определении SpecialCells(xlLastCell,EmptyParam) или при ее активации?
Разбей на 2 этапа
Cell := WorkSheet.Cells.SpecialCells(xlLastCell,EmptyParam)
Cell.Activate
Может данные в другую (хорошую) книгу скопировать надо.
Drakosha (2005-02-02 13:55:00) [8]оч смешно.
...а мне эти файлы приходится руками править и обрабатывать :(
КаПиБаРа (2005-02-02 13:45:00) [9]Drakosha (02.02.05 13:41) [4]
Напиши в микрософт :)
Drakosha (2005-02-02 13:41:00) [10]блин...я те говорю что при дебаге и этой ошибке даже в эксепт не заходит.
Т.е. для экселя это ошибка и он отображает сообщение , и дальше не передаёт. тобишь делфа думает что всё Ок и виснет :)
Digitman (2005-02-02 13:38:00) [11]
> ну тоесть ет не ексепшен в обычном понимании
а что же это по-твоему ?
обычное исключение ... класса EOleSysError ...
Drakosha (2005-02-02 13:25:00) [12]век воли не видать!
ну тоесть ет не ексепшен в обычном понимании.
Я так понимаю что это сообщение выдаёт сам ексел. и поэтому делфа его не хватет. при этом прога виснет и тока через диспечер снимается :(
Digitman (2005-02-02 13:21:00) [13]
> невозможно выполнить метод активате обьекта ранж
да, чудес в Экселе хватает, эт точно
> вылазит эксепшен(даже в тру-ексепт)
а вот в это не верю.