[Gelöst] In Excel Linien erstellen

24. Januar 2014 08:31

Hallo zusammen,

ich muss aus NAV ein Excel-Blatt erstellen mit einem Report, soweit auch nicht so schwer. Aber das Problem was ich habe ist das ich in dem Excel-Blatt Linien ziehen muss.
Kenn jemand den Befehl dafür.

Danke und Gruß Matthias
Zuletzt geändert von Matthias Vismann am 24. Januar 2014 13:00, insgesamt 1-mal geändert.

Re: In Excel Linien erstellen

24. Januar 2014 10:26

soweit ich weiß, gibt's dafür keinen Befehl.

Wenn es eine horizontale Linie sein soll, dann würd ich mehrere Zellen mit Leerzeichen füllen und diese unterstreichen - wäre jetzt so ein spontaner Gedanke

Re: In Excel Linien erstellen

24. Januar 2014 10:38

Hi,

verwendest du hier zu den Excelbuffer?

Re: [Gelöst] In Excel Linien erstellen

24. Januar 2014 13:01

Ich habe das Problem gelöst.

der Befehl ist:
Sheet.Range('D1:H1').Borders.Item(3).LineStyle := 7;

Gruß
Matthias

Re: [Gelöst] In Excel Linien erstellen

24. Januar 2014 13:29

Matthias Vismann hat geschrieben:der Befehl ist:
Sheet.Range('D1:H1').Borders.Item(3).LineStyle := 7;

Danke fürs Weitersagen!

Re: [Gelöst] In Excel Linien erstellen

24. Januar 2014 13:34

Falls noch jemand den Befehl zum Drucken weiß.
Den könnte ich noch gebrauchen. :-D

Re: [Gelöst] In Excel Linien erstellen

24. Januar 2014 15:21

OK, in diesem Fall also ohne ExcelBuffer.
Dann der vollständigkeit halber noch:
Code:
AddBorder(Cell1 : Code[10];Cell2 : Code[10];RowNo : Integer;Left : Boolean;Right : Boolean;Top : Boolean;Bottom : Boolean)

IF Bottom THEN BEGIN
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(9).LineStyle := 6;
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(9).Weight := 2;
END;
IF Top THEN BEGIN
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(8).LineStyle := 6;
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(8).Weight := 2;
END;
IF Left THEN BEGIN
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(7).LineStyle := 6;
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(7).Weight := 2;
END;
IF Right THEN BEGIN
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(10).LineStyle := 6;
  Worksheet.Range(Cell1 + FORMAT(RowNo),Cell2 + FORMAT(RowNo)).Borders.Item(10).Weight := 2;
END;

Die Variablen sollten in diesem Fall sprechend genug sein.

Für Farben:
Code:
//Zellfüllung:
Worksheet.ActiveCell.Interior.ColorIndex := XX;
//Textfarbe
Worksheet.ActiveCell.Font.ColorIndex := XX;

// COLORINDEX
// Color XX
// 1 = black
// 2 = white
// 3 = red
// 4 = green
// 5 = blue
// 6 = yellow
// 7 = magenta
// 8 = cyan
// 9 = darkred
// 10 = darkgreen
// 11 = darkblue
// 12 = ocker
// 13 = purple
// 14 = bluegreen
// 15 = grey
// 16 = darkgrey
// 17 = greyblue
// 18 = lightpurple
// END COLORINDEX


Drucken habe ich gerade keinen Code da.
Es sollte aber eine PrintOut-Funktion im Worksheet geben.