5.12 Wie geht man mit Properties um, die den Typ "Enum" haben?
Properties des Types Enum haben eine Gruppe von Konstanten als mögliche Parameter.
Diese Konstanten müssen mit ihren kompletten Api-Namen verwendet werden. Die Werte zu diesen Konstanten sind nicht dokumentiert.
Als Beispiel verwende ich hier die Textausrichtung eines Absatzes.
Die dazugehörige Propertie ist paraadjust. Das Enum dazu ist com.sun.star.style.ParagraphAdjust, mit den Ausprägungen LEFT, RIGHT, CENTER, BLOCK und STRETCH. Die Übergabe erfolgt durch das Anhängen des gewünschten Parameters.
Zum Beispiel: com.sun.star.style.ParagraphAdjust.LEFT

  oDocument=thisComponent
  oText = oDocument.Text
  oCursor = oText.createTextCursor()
  ocursor.paraadjust=com.sun.star.style.ParagraphAdjust.LEFT

Achtung: Leider sind die Enums innerhalb der API nicht immer der Dokumentation entsprechend. So können zwei Probleme auftreten:

1. Die Konstante führt nicht zu dem gewünschten Ergebnis (Dies ist hier bei STRETCH der Fall)
oder
2. Die Werte lassen sich nicht korrekt auslesen:

  ocursor.paraadjust=com.sun.star.style.ParagraphAdjust.STRETCH
  if ocursor.paraadjust=com.sun.star.style.ParagraphAdjust.STRETCH then msgbox "OK"
führt nicht zu der Meldung "OK", obwohl es das müßte.

Dagegen funktioniert:
  ocursor.paraadjust=com.sun.star.style.ParagraphAdjust.LEFT
  if ocursor.paraadjust=com.sun.star.style.ParagraphAdjust.LEFT then msgbox "OK"

Sollten es also im Zusammenhang mit Enums zu Fehler kommen, ist eine gründliche Prüfung nötig. Und Geduld!