Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

работа с 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.035 c
1-1090901198
race1
2004-07-27 08:06
2004.08.08
обратная память


3-1089274904
Ander
2004-07-08 12:21
2004.08.08
Помогите с восстановлением рухнувшего индекса БД средствами Delph


14-1090401343
ВиТ
2004-07-21 13:15
2004.08.08
Сколько стоит прога?


1-1090502685
ASoft
2004-07-22 17:24
2004.08.08
Ресурс


1-1090833370
Gennadiy
2004-07-26 13:16
2004.08.08
Проблема с меню!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский