tirsdag den 8. november 2016

Aflæs indstillinger med makro

I min tidligere artikel om fortløbende nummerering hentede jeg brugerens initialer i LibreOffice indstillingerne. Vi har faktisk adgang til alle indstillingerne i LibreOffice.

Indstillingerne finder du i Funktioner - Indstillinger. Vælger du fanen LibreOffice - Avanceret, kan du klikke på knappen Ekspertkonfiguraion, hvorefter du får denne dialog op:


Her kan du aflæse indstillingerne "adresse" i konfigurationssystemet. Her f.eks. /org.openoffice.Office.Writer/Notes/Notes. 


Herunder et kodeeksempel som aflæser "locale":

Sub Main
Print GetLocale
End Sub


Function GetLocale
'Her henter jeg brugerens initialer (Funktioner - Indstillinger -...)
  Dim aParams2(0) As new com.sun.star.beans.PropertyValue
  sProvider = "com.sun.star.configuration.ConfigurationProvider"
  sAccess   = "com.sun.star.configuration.ConfigurationAccess"
  aConfigProvider = createUnoService(sProvider)
  aParams2(0).Name = "nodepath"
  aParams2(0).Value = "/org.openoffice.Setup/L10N"
  aSettings = aConfigProvider.createInstanceWithArguments(sAccess, aParams2())
  Locale= aSettings.getbyname("ooLocale")
  GetLocale = Locale
End Function