Felder formatieren

Für das Formatieren der Excel-Zellen muss man die entsprechenden Eigenschaften kennen. Wir zeigen Ihnen hier einige.

Teilweise können die Eigenschaften abgeleitet werden, wenn Sie in Excel die Feldformatierung als Makro ausfzeichnen und sich den Quelltext anschauen.

Tipp 1:
Den Wert von verwendeten Konstanten, wie z.B. xlGeneral, xlEdgeLeft, xlNone oder xlAutomatic, können Sie ermitteln, indem Sie mit die Konstante mit rechten Maustaste anklicken und im Menü den Eintrag “Quickinfo” auswählen.

Tipp 2:
Alle Objekte und deren Methoden können eingesehen werden, indem man in den VisualBasic-Editor wechselt (Menü: Extras – Makro – VisualBasic – Editor (ALT+F11)) und [F2] drückt.

Das Objekt “o_zelle” ist das Objekt der Zelle. Die Definition muss wie folgt lauten:

DATA:  o_zelle TYPE ole2_object.

Meldungen unterdrücken

Meldungen können mit dem folgenden Befehl unterdrückt werden:

SET PROPERTY OF h_excel ‘DisplayAlerts’ = 0.

Kommentar hinzufügen

CALL METHOD OF o_zelle ‘AddComment’
     EXPORTING #1 = ‘Das ist ein Kommentar’.

Zellenformat ändern

Diese Funktionen benötigt man z.B. dann, wenn Excel Zahlen nicht korrekt anzeigt, sondern im Exponentialformat (1,001E+12).

Zelle in als Zahl ohne Nachkommastellen formaitieren

SET PROPERTY OF o_zelle ‘NumberFormat’ = ‘0’.

Zelle mit zwei Nachkommastellen formatieren

SET PROPERTY OF h_zl ‘NumberFormat’ = ‘0.00’.

Zellenhintergrund einfärben

DATA o_int TYPE ole2_object.            ” Interior

GET PROPERTY OF o_zelle ‘Interior’   = o_int
SET PROPERTY OF o_int   ‘ColorIndex’ = ‘4’.   “Grün

Farben:

  • 1=Schwarz
  • 2=weiss
  • 3=rot
  • 4=grün
  • 5=blau
  • 6=gelb

Ausrichtung und Drehen der Schrift

Zum Setzen der folgenden Attribute muss auf eine Zelle positioniert werden:

 *** Zelle ansprechen
   CALL METHOD OF o_excel ‘Cells’     = o_cell                      
        EXPORTING                                                   
           #1 = 1           “Zeile 
           #2 = 1.          “Spalte

Schrift drehen

Setzt die Drehung der Schrift in der Zelle. In diesem Fall wird die Schrift um 90° nach links gedreht.

SET PROPERTY OF o_zelle ‘Orientation’  = 90.

Ausrichtung

So wird der Text in einer Zelle ausgerichtet:

SET PROPERTY OF o_cell ‘HorizontalAlignment’    = xlAlign.

xlAlign kann folgende Werte haben:

  • xlcenter = -4108 (Zentriert)
  • xlright  = -4102 (Rechtsbündig)
  • xlleft   = -4131 (Linksbündig)

Spaltenbreite optimieren

DATA:
  o_cells     TYPE ole2_object,
  o_sheet     TYPE ole2_object,
  o_start     TYPE ole2_object,
  o_end       TYPE ole2_object,
  o_column    TYPE ole2_object,
  o_selection TYPE ole2_object,
  o_range     TYPE ole2_object.

CALL METHOD OF o_excel ‘Cells’ = o_cells.
CALL METHOD OF o_cells ‘Select’.

CALL METHOD OF o_excel ‘ActiveSheet’ = o_sheet.

*** Range definieren: Start
CALL METHOD OF o_sheet ‘Cells’ = o_start
  EXPORTING
    #1 = 1
    #2 = 1.

*** Range definieren: Ende
CALL METHOD OF o_sheet ‘Cells’ = o_end
  EXPORTING
    #1 = 20 
    #2 = 10.

*** Range aktivieren
CALL METHOD OF o_sheet ‘range’ = o_range   
  EXPORTING
    #1 = o_start
    #2 = o_end.

*** Range selektieren
CALL METHOD OF o_range ‘Select’.

*** Aktuelle selektion zuweisen
CALL METHOD OF o_excel ‘Selection’ = o_selection.
GET PROPERTY OF o_range ‘Columns’ = o_column.

*** Optimale Breite
CALL METHOD OF o_column ‘Autofit’.     

*** Oder feste Breite: 40
SET PROPERTY OF o_column ‘ColumnWidth’ = ’40’.

*** Rahmen um die Selektion
CALL METHOD OF o_range ‘BorderAround’ EXPORTING #1 = 1.

FREE OBJECT: o_cells,
             o_sheet,
             o_start,
             o_end,
             o_column,
             o_selection,
             o_range.

Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)