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

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

Excel [D6, XP]


Id ©   (2006-02-15 12:08:00) 

Здраствуйте, Уважаемые Мастера.
Подскажите, пожалуйста, как в Excel-e программно выделить сеткой группу ячеек. Пробовал провести аналогию через макрос - не могу подобрать синтаксис


КиТаЯц   (2006-02-15 14:43:00) [1]

епрст... перечитал вопрос... сорри. Вот, вроде, решение:

XL.Range[XL.Cells[5,5], XL.Cells[10, 10]].Borders.Weight := 2;


КиТаЯц   (2006-02-15 14:20:00) [2]

Кхм... Мне так кажется, по саюжу это надо:

создаем, etc...
...
XL.Workbooks.Add;
...
XL.Range['A1','A1']. Select;


КаПиБаРа   (2006-02-15 13:55:00) [3]

function SetRange(WorkBook: OleVariant; y1, x1, y2, x2: Integer): OleVariant;
begin
 Result := WorkBook.WorkSheets[1].Range[
   WorkBook.WorkSheets[1].Cells[y1, x1],
   WorkBook.WorkSheets[1].Cells[y2, x2]];
end;


EvS   (2006-02-15 13:53:00) [4]

Регион по-моему так задается Range['A1:A2']


Digitman   (2006-02-15 12:56:00) [5]


> неработает


Что, так и говорит, мол, не работаю ?


Id   (2006-02-15 12:52:00) [6]

   exBook.workSheets[1].Range['a1','a2'].Borders[xlEdgeLeft].LineStyle := xlContinuous;
   exBook.workSheets[1].Range['a1','a2'].Borders[xlEdgeLeft].Weight := xlMedium;

Предполагаю, что это тоже самое, но неработает...


КаПиБаРа   (2006-02-15 12:11:00) [7]

procedure SetEdge(Range: OleVariant);
begin
 Range.Borders[xlEdgeLeft].LineStyle := xlContinuous;
 Range.Borders[xlEdgeLeft].Weight := xlMedium;
 Range.Borders[xlEdgeTop].LineStyle := xlContinuous;
 Range.Borders[xlEdgeTop].Weight := xlMedium;
 Range.Borders[xlEdgeBottom].LineStyle := xlContinuous;
 Range.Borders[xlEdgeBottom].Weight := xlMedium;
 Range.Borders[xlEdgeRight].LineStyle := xlContinuous;
 Range.Borders[xlEdgeRight].Weight := xlMedium;
 if Range.Columns.Count > 1 then
 begin
   Range.Borders[xlInsideVertical].LineStyle := xlContinuous;
   Range.Borders[xlInsideVertical].Weight := xlThin;
 end;
 if Range.Rows.Count > 1 then
 begin
   Range.Borders[xlInsideHorizontal].LineStyle := xlContinuous;
   Range.Borders[xlInsideHorizontal].Weight := xlThin;
 end;
end;


Наверх

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