Вниз
Скачать: CL | DM;

Кто работал с Excel? Плиз... как задать тип границ ячейки, её   Найти похожие ветки 

← →
Term   (2003-06-19 15:51) [0]

Плиз... как задать тип границ ячейки, её размер и другие какие еще есть параметры

я создаю файл вот таким образом:

var
xlap,xl:variant;
i:integer;
begin
if SaveDialog1.Execute then
begin
XLap:= CreateOLEObject("Excel.Application");
xlap.workbooks.add;
XLap.visible := true;
xl:=xlap.Workbooks[1].Sheets[1];
i:=1;
Form1.Table1.First;
while not Form1.Table1.Eof do
begin
xl.Cells[i,1].Value:=Form1.Table1.FieldByName("Famil").AsString;
inc(i);
Form1.Table1.Next;
end;
xlap.ActiveWorkbook.SaveAs(SaveDialog1.FileName);
end;

а как оформить таблицу?


← →
Palladin ©   (2003-06-19 15:55) [1]

запиши в экселе макрос да посмотри


← →
Term   (2003-06-19 15:58) [2]

а из делфей чо никак??? без макрософ??? тем более я их писать не знаю как


← →
Term   (2003-06-19 16:06) [3]

народ ну ктонить...... плиз очень нужно


← →
Palladin ©   (2003-06-19 16:09) [4]

тогда чо никак...


← →
madm ©   (2003-06-19 16:11) [5]

Берешь ексел. Идешь в меню "Сервис", там "Макрос", "Начать запись", жмешь "Ок". Меняешь границу у любой ячейки на ту которая тебе нужна. Останавливаешь запись макроса. Идешь "Сервис", там "Макрос", "Редактор Visual Basic". Там открываешь свою книгу, в ней открываешь свой макрос(видимо будет называться "Макрос1"). Смотришь какие свойства у Cell ексел поменял чтобы поменять границы. Будет вот так:
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With

Соответственно фсе это же творишь из делфей...
О типах границ смотри хелп в екселе или msdn.


← →
Term   (2003-06-19 16:18) [6]

спасибо буду пробовать


← →
Term   (2003-06-19 16:49) [7]

сделал так
xl.Cells[i,1].Borders(xlDiagonalDown).LineStyle:=xlNone;
xl.Cells[i,1].Borders(xlDiagonalUp).LineStyle:=xlNone;

xl.Cells[i,1].Borders(xlEdgeLeft).LineStyle:=xlContinuous;
xl.Cells[i,1].Borders(xlEdgeLeft).Weight:=xlMedium;
xl.Cells[i,1].Borders(xlEdgeLeft).ColorIndex:=xlAutomatic;

xl.Cells[i,1].Borders(xlEdgeTop).LineStyle:= xlNone;
xl.Cells[i,1].Borders(xlEdgeBottom).LineStyle:= xlNone;

xl.Cells[i,1].Borders(xlEdgeRight).LineStyle:= xlContinuous;
xl.Cells[i,1].Borders(xlEdgeRight).Weight:= xlMedium;
xl.Cells[i,1].Borders(xlEdgeRight).ColorIndex:= xlAutomatic;

говорит "Член группы не найден", как быть?


← →
Basilio ©   (2003-06-19 17:02) [8]

Может ....Borders.Item[xlEdgeTop]... ?


← →
madm ©   (2003-06-19 17:02) [9]

Я не помню как это в делфях сделано, но так как ты написал полюбому работать не будет! Откуда делфям знать что такое xlDiagonalDown или xlNone? В билдере надо у варианта(у твоего xl) юзать OlePropertySet. Там указываешь имя проперти и ее значение. Наверное что-то вроде того в делфях должно быть:
tmp:Variant;
tmp := xl.OlePropertyGet("Borders", "xlDiagonalDown");
tmp.OlePropertySet("LineStyle", "xlNone");

Либо надо вместо xlNone, xlDiagonalDown и прочих ставить целые значение(ведь это все integer на самом деле). Какие значения имена каким значениям соответствуют смотри в отладчике в екселевском редакторе VB. Или в хелпах...


← →
Term   (2003-06-19 17:08) [10]

понятно спасибо, снова всё попробую


← →
Basilio ©   (2003-06-19 17:13) [11]

цитата из Excel97.pas (D:\Program files\Borland\Delphi5\Ocx\Servers\)

const
xlInsideHorizontal = $0000000C;
xlInsideVertical = $0000000B;
xlDiagonalDown = $00000005;
xlDiagonalUp = $00000006;
xlEdgeBottom = $00000009;
xlEdgeLeft = $00000007;
xlEdgeRight = $0000000A;
xlEdgeTop = $00000008;


← →
Ricky-Ticky-Tavy ©   (2003-06-19 17:24) [12]

var
xlap,xl:variant;
begin
if SaveDialog1.Execute then
begin
XLap:= CreateOLEObject("Excel.Application");
xlap.workbooks.add;
XLap.visible := true;
xl:=xlap.Workbooks[1].Sheets[1];
xl.Cells[1, 1]:="XXX";
xlap.ActiveWorkbook.SaveAs(SaveDialog1.FileName);
xl.Cells[1,1].Borders[xlEdgeRight].LineStyle:=xlContinuous;
xl.Cells[1,1].Borders[xlEdgeRight].Weight:=xlMedium;
xl.Cells[1,1].Borders[xlEdgeRight].ColorIndex:=xlAutomatic;
end;
end;

ЗАРАБОТАЛО!!!



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.01 c
11-97563
lamachok
2002-10-19 14:27
2003.06.30
о нем


1-97594
TCrash
2003-06-19 00:36
2003.06.30
Иконка в трее без окон


14-97874
Jumbo
2003-06-10 18:35
2003.06.30
Adobe PDF формат


11-97567
Alexander
2002-08-19 10:02
2003.06.30
Несколько вопросов и предложений ...


14-97880
levova
2003-04-12 12:06
2003.06.30
Как использовать компонент TTelefoon?




   Наверх