LibreOffice 25.2 žinynas
Savybė, dar vadinama lauku arba atributu, apibūdina nurodytą objektą ar informacijos dalį. Savybės gali būti naudojamos prieigai prie duomenų valdyti. Paprastai naudojamas nurodymas nustatant ar skaitant savybių laiką. Kodas gali skirtis nuo paprasto priskyrimo iki sudėtingų, nuo konteksto priklausomų, paprogramių. Naudodamiesi Get, Let arba Set prieigomis, jei reikia, užtikrinamas savybių nuoseklumas.
Šiam sakiniui reikia Parinčių suderinamumo, kuris turi būti modulyje prieš vykdomą programos kodą.
       
         [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: Savybės pavadinimas.
argument: Reikšmė, kuri perduodama savybės paprogramei.
Property naudoja dažniausiai vieną argumentą. Daugybiniai argumentai taip pat galimi.
      Option Compatible
      Sub Main
          ProductName = "Office"
          Print ProductName ' rodoma "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
      Jei nėra savybės Let arba savybės Set, savybė Get padeda aprašyti laikomą informaciją, kurios svetimas modulis negali netyčia pakeisti:
      Option Compatible
      Viešoji savybė „PathDelimiter As String“ tik skaitymui kintamasis
          Static this As String
          If this = "" Then : Select Case GetGuiType()
              Case 1 : this = ";" ' Windows
              Case 4 : this = ":" ' Linux arba macOS
              Case Else : Error 423 ' Savybė arba metodas neapibrėžtas: PathDelimiter
          End Select : End If
          PathDelimiter = this
      End Property ' tik skaityti PathDelimiter
      
      Sub Main
          PathDelimiter = "sakinys" ' nieko nedaro
      End Sub
      Naudokite Let arba Set, kai apdorojate UNO paslaugas arba klasių objektus:
      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