Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

работа с Excel   Найти похожие ветки 

 
Lena   (2004-07-27 12:45) [0]

Добрый вечер всем. Помагите, пожалуйста,  я уже не знаю что делать. Есть такой код:
    for i:=1 to  CountSheets do
     begin
       if (pos("RUB",value[i-1])<>0) or (pos("VAL",value[i-1])<>0) then
        begin
          WorkBk := XLApp.WorkBooks[1];
          WorkSheet := WorkBk.WorkSheets[i];
          WorkSheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
и дальше работаю с данными странички (стандартный код, видела его на сайтах 10-и...) но проблема в том, что мне надо бежать по нескольким листам и когда доходит до активации последней ячейки данного листа, на втором листе выскакивает ошибка:
метод Activate из класса Range завершен не верно. Т.е. интуитивно понятно, что перед переходом на следующий лист, нужно снять активацию с текущего, но как это сделать не знаю. Помогите, пожалуйста....:-)


 
Digitman ©   (2004-07-27 13:14) [1]

тебе зачем ячейку активизировать-то ? расчеты какие-то сделать на каждом из листов ? ну так для этого совершенно необязательно активизировать что-то ..

а уж если таки нужно, то перед активизацией ячейки следует активизировать раб.лист, которому активизируемая ячейка принадлежит


 
Lena   (2004-07-27 13:22) [2]

я пользуюсь аналогичным кодом:
// Чтобы знать размер листа (WorkSheet), т.е. количество строк и количество
// столбцов, мы активируем его последнюю непустую ячейку
WorkSheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
// Получаем значение последней строки
X := XLApp.ActiveCell.Row;
// Получаем значение последней колонки
Y := XLApp.ActiveCell.Column;

мне надо на каждом листе знать его размер , т.е. кол-во строк и столбцов, но когда я перехожу на второй лист и пытаюсь узнать размер, путем активизации мне и выдается ошибка...


 
Digitman ©   (2004-07-27 13:27) [3]


> надо на каждом листе знать его размер


а чего его знать ? строк - 64к, столбцов - 256 ...


 
Lena   (2004-07-27 13:32) [4]

размер не листа, а координаты не пустой последней ячейки, мне надо данные перетащить в Delphi.


 
Digitman ©   (2004-07-27 13:48) [5]

а причем здесь Activate ?
для этого иные спецметоды есть у объекта WorkSheet


 
Lena   (2004-07-27 13:50) [6]

а какие, я просто не знаю и поэтому спрашиваю...


 
Digitman ©   (2004-07-27 14:14) [7]

WorkSheet.UsedRange.SpecialCells(xlCellTypeLastCell, EmptyParam).Address


 
Lena   (2004-07-27 14:21) [8]

а можно еще вопрос, как сделать лист активным?  :-)


 
Digitman ©   (2004-07-27 14:30) [9]


> Lena


здрасть ...

WorkSheet[такой-то].Activate

только вот нафига тебе это для тек.задачи -  опять неясно



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
4-1088181167
m2003
2004-06-25 20:32
2004.08.08
Блокировка Windows


3-1089392505
Piero
2004-07-09 21:01
2004.08.08
параметр процедуры - таблица


1-1090744432
ko
2004-07-25 12:33
2004.08.08
combobox


1-1090907569
prorok2
2004-07-27 09:52
2004.08.08
Смещение компонент при разворачивание формы на полный экран


8-1085029329
jab~
2004-05-20 09:02
2004.08.08
Конвертация 16 битного растрового изображения в 8 битное!