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

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

Ошибка при активизации последней ячейки [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]


> невозможно выполнить метод активате обьекта ранж


да, чудес в Экселе хватает, эт точно


> вылазит эксепшен(даже в тру-ексепт)


а вот в это не верю.


Наверх

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