Форум: "Основная";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
ВнизКто работал с 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 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c