Ajuda do LibreOfficeDev 26.8
Defina enumerações ou grupos de constantes não UNO. Uma enumeração é uma lista de valores que facilita a programação e simplifica a revisão da lógica do código.
Enum list_name
' Object Statement block
End Enum ' list_name
Dentro de uma determinada enumeração, agrupe os valores que se relacionam logicamente entre si.
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
Os valores enumerados são representados pelo tipo de dados Long. As funções básicas são acessores públicos para as enumerações. Os nomes das enumerações e dos valores devem ser únicos dentro de uma biblioteca e entre módulos.
Mostrar os valores constantes agrupados pelo WindowManager:
Dim winMgr As Object : winMgr = <library>.<module>.WindowManager
With winMgr
Print .MACINTOSH, .MOTIF, .OPENLOOK, .OS2PM, .W1ND0WS
End With
As enumerações podem ser alargadas a outros tipos de dados utilizando definições da instrução Type. O artigo Chamar scripts Python a partir do Basic ilustra esse mecanismo.