Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
ВнизДоступ к Найти похожие ветки
← →
3APA3A (2003-07-05 14:16) [0]Записал в Excel вот такой вот макрос:
Sub Macro1()
Range("C2:F8").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
Это просто выделение области и рисование ей нижней границы...
А в Delphi я этого найти не могу...
пишу
var Excel:olevaliant;
begin
...
excel:=createoleobject("Excel.Application");
...
Но вот выделить ячейку и обратится к выделенному у меня не получается... Excel.Range.Selection не работает...
← →
3APA3A (2003-07-05 14:28) [1]То есть, я хочу нарисовать, допустим, нижнюю границу ячейки (X,Y)... Вот вся суть вопроса...
← →
Романов Р.В. (2003-07-05 15:27) [2]
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;
function SetRange(WorkBook: OleVariant; y1, x1, y2, x2: Integer): OleVariant;
begin
Result := WorkBook.WorkSheets[1].Range[
WorkBook.WorkSheets[1].Cells[y1, x1],
WorkBook.WorkSheets[1].Cells[y2, x2]];
end;
Вызов функции:
SetEdge(SetRange(WorkBook, 1, 1, 3, 13));
← →
3APA3A (2003-07-05 15:53) [3]tnx... отлично работает...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c