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

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

Снова Excel, а точнее форматирование. [D5, Win95/98]


Hawk2 ©   (2002-08-15 10:52:00) 

Знаю что тема Excel уже поднималась неоднократно, но всеже ответа на свой вопрос я не нашел. Я не буду спрашивать как запустить Excel, как его закрыть или как запихнуть в него данные это уже научился, меня интересует форматирование, а точнее как нарисовать сетку по выделеным ячейкам, изменить цвет шрифта и т.д. На AfalinaSoft и Королевство Делфи не отправлять уже был там. Я когда-то был на одном сайте там довольно неплохо описывалось форматирование, но забыл как называется (чтото вроде Excel+Delphi или Excel&Delphi) может кто знает точний адрес или ответ на ворос, помогите кто чем может.


Hawk2   (2002-08-15 14:19:00) [1]

СПАСИБО ВСЕМ!


Ekaterina   (2002-08-15 13:31:00) [2]

Рисуем сетку:
procedure TForm3.Button1Click(Sender: TObject);
var IR:Range;
begin
IDispatch(IR):=ExcelApplication1.Selection[0];
IR.Borders.Item[xlEdgeBottom].LineStyle:=xlContinuous;
IR.Borders.Item[xlEdgeLeft].LineStyle:=xlContinuous;
IR.Borders.Item[xlEdgeRight].LineStyle:=xlContinuous;
IR.Borders.Item[xlEdgeTop].LineStyle:=xlContinuous;
if IR.Rows.Count>1 then IR.Borders.Item[xlInsideHorizontal].LineStyle:=xlContinuous;
if IR.Columns.Count>1 then IR.Borders.Item[xlInsideVertical].LineStyle:=xlContinuous;end;

цвет шрифта: IR.Font.ColorIndex:=5или IR.Font.Color:=$FF0000(синий)


VL   (2002-08-15 12:31:00) [3]

xlVariant.Selection.Borders[7].LineStyle := 1;
xlVariant.Selection.Borders[7].Weight := 2;
xlVariant.Selection.Borders[7].ColorIndex := -4105;
{ВВерх}
xlVariant.Selection.Borders[8].LineStyle := 1;
xlVariant.Selection.Borders[8].Weight := 2;
xlVariant.Selection.Borders[8].ColorIndex := -4105;
{Hиз}
xlVariant.Selection.Borders[9].LineStyle := 1;
xlVariant.Selection.Borders[9].Weight := 2;
xlVariant.Selection.Borders[9].ColorIndex := -4105;
{Правое}
xlVariant.Selection.Borders[10].LineStyle := 1;
xlVariant.Selection.Borders[10].Weight := 2;
xlVariant.Selection.Borders[10].ColorIndex := -4105;
{Вертикаль внутри}
xlVariant.Selection.Borders[11].LineStyle := 1;
xlVariant.Selection.Borders[11].Weight := 2;
xlVariant.Selection.Borders[11].ColorIndex := -4105;


AFROLOV   (2002-08-15 12:29:00) [4]

Лучше научись пользоваться вышеописанным, тогда 99.9% вопросов будет решаться самостоятельно.


AFROLOV   (2002-08-15 12:28:00) [5]

А еще есть в составе офисных приложений есть макрорекордер, так тот просто код генерит - иногда не надо даже помощь читать.


Hawk2   (2002-08-15 12:27:00) [6]

А рабочий примерчик можно?


Ekaterina   (2002-08-15 11:32:00) [7]

ExcelApplication.Selection - возвращает выделенный объект. Если это ячейки, то преобразовать к Range.
Range.Borders- границы ячейек.
Range.Borders.Colour - цвет границы.
Range.borders.weight- ширина.
range.borders.linestyle-стиль линии
range.borders.item[index]-одна из границ: index может быть : xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight, or xlEdgeTop, xlInsideHorizontal, or xlInsideVertical.
Запускаешь Excel, жмёшь Alt-F11, затем F1 и читаешь всё это...


Наверх

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