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

Вниз

Обрамление наскольких ячеек в MS Excel при позднем связывании.   Найти похожие ветки 

 
dtm   (2003-01-30 13:16) [0]

Подскажите, уважаемые, как осуществить сабж? Нужно выделять заголовки таблиц на рабочем листе и обрамлять их рамкой. Запись макросов в Экселе и их просмотр как примера ник чему не привели. Если кто может поделитсья кусочком кода, буду очень благодарен.

Необходимо и достаточно, чтобы нормально работало под 97 и 2К Офисом.


 
Романов Р.В. ©   (2003-01-30 13:25) [1]

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;


 
Паша ©   (2003-01-30 15:24) [2]

>Романов Р.В. © (30.01.03 13:25)
Однако, при позднем связывании
Надо так:
vExcel.Range[vExcel.Cells[1,1], vExcel.Cells[2,Grid.FieldCount]].Select;
vExcel.Selection.Borders.LineStyle:= 1;//тонкая рамка


 
dtm   (2003-01-30 15:30) [3]

Хех, большое спасибо, за позднее связывание - особенно.

Также, на этом же сайте нашёл в копилке весьма неплохой вариант.


 
Opuhshii ©   (2003-01-30 16:46) [4]

2Паша © (30.01.03 15:24)
вы уж извините... а в чем разница?,.. просто любопытсво съедает,?,...


 
Opuhshii ©   (2003-01-30 16:47) [5]

причем "Однако, при позднем связывании" ... сие оч.интересно...


 
Паша ©   (2003-01-30 18:13) [6]

>Opuhshii © (30.01.03 16:47)
А где взять значения xlEdgeLeft, xlContinuous, xlMedium? Delphi ругнется, я так думаю... Можно, конечно попробовать 1,2,3 может и заработает. А может и не ругнется, только что у себя нашел похожие конструкции, как это все работает уже не помню- 3 года прошло, помню только что сидел над этой лабудой долго и упорно. Тогда приношу извинения.
Но все равно, быстрее будет обрамить нужную область сразу, или Вы не соласны?
А лучше всего нарисовать шаблон и кидать данные в него, оно и красивше будет, и пользователь поменять сможет. В программу зашивать вывод данных нехорошо.
Еще раз приношу извинения Романов Р.В. © (30.01.03 13:25), если я не прав.


 
Романов Р.В. ©   (2003-01-30 18:51) [7]


> А где взять значения xlEdgeLeft, xlContinuous, xlMedium?

uses excel97


 
Паша ©   (2003-01-30 18:55) [8]

Но ведь это ранее связывание, на уровне исходников (а человеку надо через CreateOLEObject("Excel.Application")- позднее), или я неправильно понимаю термин?


 
Романов Р.В. ©   (2003-01-30 19:05) [9]

Это не раннее связывание, просто там константы эти прописаны.


 
Паша ©   (2003-01-30 19:24) [10]

Там, наверное, и объекты для работы с Excel еще есть (ради констант увеличивать размеры ехе)? Так тогда через них и нужно работать, я так понимаю, будет гораздо быстрей, и управление более гибкое.
Впрочем, не спорю, можно и так. Я просто уже давно в ту сторону не смотрел.



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

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

Наверх




Память: 0.49 MB
Время: 0.028 c
14-29054
ЮРИЙ_К
2003-01-24 15:56
2003.02.10
Компонент для создания Слайд-шоу


3-28587
VinRaider
2003-01-24 09:11
2003.02.10
Изменение цвета


1-28802
John
2003-02-02 10:44
2003.02.10
Работа с файлами...


1-28831
TimonSoft
2003-02-02 19:20
2003.02.10
Помогите разобраться с KeyPress в Edit.


14-29001
Supreme
2003-01-23 23:59
2003.02.10
Фильмосоздание