Seite 1 von 1

Benutzerdaten lesen/verändern

Verfasst: Do, 24.04.2008 13:16
von Frank66
Hi,

ich habe ein Codeschnipsel schon gefunden, um die Benutzerdaten (Extras-Optionen-Benutzerdaten) auszulesen. Leider ist dieses Property schreibgeschützt, so dass ich es nicht verändern kann. Auch XRAY gab mir da keinen Anhaltspunkt und meinte auch "read-only". Gibt es vieleicht noch eine andere Möglichkeit, an diese Infos zu kommen, wo man auch schreiben kann?

Hier das Beispiel dazu:

Code: Alles auswählen

sub testscripte_userinfolesen
Dim regval(0) as new com.sun.star.beans.PropertyValue

userdaten = createUnoService("com.sun.star.configuration.ConfigurationProvider")
regval(0).Name = "nodepath"
regval(0).Value = "org.openoffice.UserProfile/Data"
benutzerdaten = userdaten.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", regval())

msgbox benutzerdaten.sn
xray benutzerdaten

   benutzerdaten.sn = "neuer Nachname"     ' Hier knallt es

end sub

PS: Verwende OO 2.3 unter Windows.

Re: Benutzerdaten lesen/verändern

Verfasst: Do, 24.04.2008 16:32
von komma4
ich hab's bis jetzt noch nicht benötigt (=verwendet), weiss aber, dass Du einen Schreibzugriff brauchst:

Code: Alles auswählen

com.sun.star.configuration.ConfigurationUpdateAccess
Bspw. in Andrews Makro-Dokument



Hilft Dir das weiter?

Re: Benutzerdaten lesen/verändern

Verfasst: Do, 24.04.2008 16:45
von Frank66
Hi komma4,

danke, ein bischen weiter ist man mit "ConfigurationUpdateAccess" da man tatsächlich Schreibzugriff auf die Struktur "benutzerdaten" bekommt. Dort kann man schreiben und diese Änderung auch wieder auslesen. Leider wird das (noch) nicht in die Konfiguration zurückgeschrieben, so dass bei einem erneuten Start des Makros wieder der urspüngliche Wert gezogen wird. Vielleicht gibt es da noch eine Methode zum Zurückschreiben?

Gruß
Frank

Re: Benutzerdaten lesen/verändern

Verfasst: Do, 10.07.2008 12:58
von MoC08
Hi,

wollte mal fargen ob du mittlerweile eine Lösung gefunden hast und ob du deinen Code mal posten könntest....

MFG

MoC08