Главная страница
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.021 c
1-28913
denis24
2003-01-31 09:24
2003.02.10
массив с именами файлов


3-28614
helpme
2003-01-23 05:00
2003.02.10
В таблице FoxPro при открытии в Делфи вместо русских символов


14-29028
Anatoly Podgoretsky
2003-01-23 07:51
2003.02.10
Именинники 23 января


1-28808
Zirus
2003-02-02 07:11
2003.02.10
вопрос по scrollbox


3-28641
Dona
2003-01-23 12:57
2003.02.10
Поиск в Гриде