LibreOffice 25.8 Hjælp
En egenskab, også kaldet felt eller attribut, kendetegner et givet objekt eller en information. Egenskaber kan bruges til at kontrollere tilgang til data. Det er almindelig brug at medtage instruktioner ved egenskabernes sætte- eller læsetidspunkt. Kode kan variere fra simpel tildeling til komplekse kontekstafhængige rutiner. Med accessorerne Get, Let eller Set forstærkes egenskabernes konsistens om nødvendigt.
Dette udtryk kræver, at Option Compatible er placeret foran den eksekverbare programkode i et modul.
       
         [Private | Public] Property Get name[char | As typename]
         End Property
             
         [Private | Public] Property [Let | Set] name[char] [([Optional [ByRef | ByVal]]value[char | As typename])] [As typename]
         End Property
      name: Egenskabens navn.
argument: værdi, der skal overføres til sætte-rutinen Property.
Property-sættere bruger ofte et enkelt argument. Flere argumenter accepteres ligeledes.
      Option Compatible
      Sub Main
          ProductName = "Office"
          Print ProductName ' viser "LibreOffice"
      End Sub
      
      Private _office As String
      Property Get ProductName As String
          ProductName = _office
      End Property
      Property Let ProductName(value As String)
          _office = "Libre"& value
      End Property
      I fravær af egenskaben Let eller egenskaben Set, hjælper egenskaben Get med at definere beskyttet information, som kan ændres tilfældigt af et fremmed modul:
      Option Compatible
      Public Property Get PathDelimiter As String ' Skrivebeskyttet variabel
          Static this As String
          If this = "" Then : Select Case GetGuiType()
              Case 1 : this = ";" ' Windows
              Case 4 : this = ":" ' Linux eller macOS
              Case Else : Error 423 ' Egenskab eller metode ikke defineret: PathDelimiter
          End Select : End If
          PathDelimiter = this
      End Property ' skrivebeskyttet PathDelimiter
      
      Sub Main
          PathDelimiter = "a sentence" ' gør intet
      End Sub
      Brug Let eller Set, når du håndterer UNO-tjenester eller klasseobjekter:
      Option Compatible
      Sub Main
          'Set anObject = CreateUnoService( "com.sun.star.frame.Desktop" )
          anObject = CreateUnoService( "com.sun.star.frame.Desktop" )
          Print anObject.SupportedServiceNames(0) ' displays "com.sun.star.frame.Frame"
      End Sub
      
      Property Get anObject As Object
          Set anObject = _obj
      End Property
      
      Private _obj As Object
      
      'Property Set anObject(value As Object)
          'Set _obj = value.CurrentFrame
      'End Property
      Property Let anObject(value As Object)
          Set _obj = value.CurrentFrame
      End Property