LibreOffice 24.8 abi
Define enumerations or non UNO constant groups. An enumeration is a value list that facilitates programming and eases code logic review.
Enum list_name
' Object Statement block
End Enum ' list_name
Within a given enumeration, fit together values that logically relate to one another.
Option VBASupport 1
Private Enum _WindowManager
W1ND0WS = 1 ' Windows
OS2PM = 2 ' OS/2 Presentation Manager
MACINTOSH = 3 ' Macintosh
MOTIF = 4 ' Motif Window Manager / Unix-like
OPENLOOK = 5 ' Open Look / Unix-like
End Enum
Public Function WindowManager() As Object
WindowManager = _WindowManager
End Function ' <library>.<module>.WindowManager.XXX
Enumerated values are rendered to Long datatype. Basic functions are public accessors to enumerations. Enumeration names and value names must be unique within a library and across modules.
Display WindowManager grouped constant values:
Dim winMgr As Object : winMgr = <library>.<module>.WindowManager
With winMgr
Print .MACINTOSH, .MOTIF, .OPENLOOK, .OS2PM, .W1ND0WS
End With
Enumerations can be extended to other data types using Type statement definitions. Calling Python Scripts from Basic illustrates that mechanism.