Главная страница
    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.46 MB
Время: 0.034 c
6-1086534680
lena19
2004-06-06 19:11
2004.08.08
на что открыт доступ на текущем компе (где прога запущена)


14-1089997964
Undert
2004-07-16 21:12
2004.08.08
SQL + IP диапазон


14-1090245547
Ega23
2004-07-19 17:59
2004.08.08
Коллеги, подскажите форум.


14-1090404134
TohaNik
2004-07-21 14:02
2004.08.08
Книги


6-1086156310
anton.
2004-06-02 10:05
2004.08.08
TCP сокеты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский