Показать сообщение отдельно
Старый 18.09.2013, 18:04   #15  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Задать границы
Код:
SetBorder(xlRowIDPar : Integer;xlColIDPar : Integer;Border : Integer)
// Стандартные индексы границ ячейки Excel
// 1. xlEdgeLeft         = 7  (левая)
// 2. xlEdgeRight        = 10 (правая)
// 3. xlEdgeTop          = 8  (верхняя)
// 4. xlEdgeBottom       = 9  (нижняя)
// 5. xlDiagonalDown     = 5  (диагональ лево верх - право низ)
// 6. xlDiagonalUp       = 6  (диагональ право верх - лево низ)

// Задается стиль линии: 1 - обычная сплошная
CASE Border OF
1: XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.Item(7).LineStyle := 1; 
2: XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.Item(10).LineStyle := 1;
3: XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.Item(8).LineStyle := 1;
4: XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.Item(9).LineStyle := 1;
5: XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.Item(5).LineStyle := 1;
6: XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.Item(6).LineStyle := 1;
END;
// толщины линий для каждой стороны задаются через св-во Weight
XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.Item(7).Weight = 3

// обрамляющая, заполняются все 4 стороны
XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).Borders.LineStyle := 1;


GetxlColID(ColumnNo : Integer) : Text[30]
xlColIDLoc := '';
IF ColumnNo <> 0 THEN BEGIN
  x := ColumnNo - 1;
  c := 65 + x MOD 26;
  xlColIDLoc[10] := c;
  i := 10;
  WHILE x > 25 DO BEGIN
    x := x DIV 26;
    i := i - 1;
    c := 64 + x MOD 26;
    xlColIDLoc[i] := c;
  END;
  FOR x := i TO 10 DO
    xlColIDLoc[1+x-i] := xlColIDLoc[x];
END;

EXIT(xlColIDLoc);


GetxlRowID(RowNo : Integer) : Text[30]
xlRowIDLoc := '';
IF RowNo <> 0 THEN
  xlRowIDLoc := FORMAT(RowNo);
EXIT(xlRowIDLoc);
перенос
Код:
XlWrkSht.Range(GetxlColID(xlColIDPar) + GetxlRowID(xlRowIDPar)).WrapText := TRUE;
остальное можно посмотреть, запустив запись макросов.