Текущий архив: 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.46 MB
Время: 0.009 c