Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sheet.Range[].Select выдет ошибку 
:(
    Опции темы
Boyur
Дата 2.6.2012, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.12.2007
Где: Новороссийск

Репутация: нет
Всего: нет



Хочу выделить и объеденить ячейки, но мне Делфи говорит что такое Select и Merge.
Пишет ошибку Undeclared identifier "Select'
Вот так объеденяю:
Код

//выделение диапазона ячеек
                  sheet.Range[sheet.cells[24,18],sheet.cells[25,21]].Select;
                  //объеденение ячеек
                  sheet.Range[sheet.cells[24,18],sheet.cells[25,21]].Merge;


Вот так создаю документ:
Код

function CreateApplication(FileName:string):boolean;
//создаем приложение excel
begin
try
    //Создаем объект интерфейса для доступа к серверу COM
    exl := CreateOleObject('Excel.Application');
    // Отключаем реакцию Excel на события,
    //чтобы ускорить вывод информации
    exl.Application.EnableEvents := false;
    //Создаем книгу и обращаемся к первому листу
    Workbook := exl.Application.WorkBooks.Add(GetCurrentDir()+FileName);
    Sheet := WorkBook.WorkSheets[1];
    result:=true;
Except
showmessage('Внимание! Произошла ошибка при создании MS Excel приложения');
result:=false;
//освобождаем интерфейсы
Sheet := Unassigned;
WorkBook := Unassigned;
exl := Unassigned;
end;
end;


Приложил приложение в котором пытаюсь распечатать. 

Это сообщение отредактировал(а) Boyur - 2.6.2012, 02:26

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  sclad_v_1_3_.zip 952,96 Kb
PM MAIL ICQ   Вверх
Данкинг
Дата 2.6.2012, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 5
Всего: 130



Цитата(Boyur @  2.6.2012,  03:24 Найти цитируемый пост)
sheet.Range[sheet.cells[24,18],sheet.cells[25,21]]

А это что за конструкция такая? Посмотри макросом, как сам Excel выделяет. Там всё проще как-то.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
kami
Дата 30.7.2012, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 72



1. Select при работе с Excel не нужен и даже вреден. Исключение - показ пользователю нужной ячейки по окончанию обработки данных. 
2. Цитата из рабочего кода:
Код

var
  Range: variant;
begin
  ...
  Range:=Sheet.Range['X18:Y21'];
  Range.Merge;
  Range.HorizontalAlignment := xlAlignHCenter;
  Range.VerticalAlignment := xlAlignVCenter;
  Range.WrapText := True;
  ... и так далее
end;


Добавлено через 13 минут и 8 секунд
Цитата(Данкинг @  2.6.2012,  03:56 Найти цитируемый пост)
А это что за конструкция такая? 

Конструкция вроде правильная, справка VBA такое позволяет:
Код

With Worksheets(1)
    .Range(.Cells(1, 1), _
        .Cells(10, 10)).Borders.LineStyle = xlThick
End With

Другое дело, что там голову сломать можно, когда ставить круглые, а когда квадратные скобки, так что вполне возможно, что в данном случае для указания диапазона по крайним ячейкам нужно сделать так:
Код

sheet.Range(sheet.cells[24,18],sheet.cells[25,21])


Кстати, если кто просветит насчет "круглые/квадратные скобки" применительно к Excel - будет здоровски.

Это сообщение отредактировал(а) kami - 30.7.2012, 18:01
PM MAIL WWW   Вверх
kami
Дата 30.7.2012, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 72



ой-е 
Цитата
Дата 2.6.2012
, главное вовремя отписаться  smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.