Der Titel ist nicht besonders gut, aber ...
Es gibt Eigenschaften die über in einem Array des Typ com.sun.star.beans.PropertyValue
festgelegt werden.
Diese können in der Regel mit getXXX und setXXX augelesen und gesetzt werden.
Als Beispiel verwende ich hier "Printer" unterhalb eines Dokumentes.
Es gibt zwei Methoden und eine Property die sich um Printer drehen.
Die Property ist Printer, die Methoden sind getPrinter und setPrinter
Der Zugriff auf die einzelnen Werte der Property geht direkt über Printer oder über
ein
ausgelesenes Array.
Direkter Zugriff:
oDoc = thiscomponent
msgbox oDoc.Printer(0).name
msgbox oDoc.Printer(0).value
oder als Schleife
for i=1 to ubound(odoc.printer())
msgbox oDoc.Printer(i).name
msgbox oDoc.Printer(i).value
next
Auf diese Weis können die Werte auch gesetzt werden.
msgbox oDoc.Printer(0).value=1
Der Name darf natürlich nicht geändert werden.
Bei dieser Art muß man natürlich den Index der zu ändernden Property kennen. Diese
kann
man entweder der Dokumentation entnehmen oder mit einer Funktion auslesen. Siehe
Tools-
>GetPropertyValAndInd
Der zweite Weg geht über auslesen und zurückschreiben mit den Methoden.
myProps=oDoc.getPrinter
for i=1 to ubound(myProp())
msgbox myProp(i).name
msgbox myProp(i).value
next
Analog dann einen neuen Wert zuweisen und zurück schreiben.
myProp(i).value=0
odoc.setPrinter(myProp())
Da es aber Propertys gibt, die sehr umfangreich sind, langt es auch nur die zu ändernden
Property neu zu setzen.
Dazu muß man ein Array des Typ com.sun.star.beans.PropertyValue vorher erzeugen. Danach
kann man einzelne Propertys neu setzen. Die Anderen bleiben dabei die anderen Propertys mit
ihrem alten Wert erhalten.
Dim newProps(0) as New com.sun.star.beans.PropertyValue
newProps(0).Name="Name"
newProps(0).value="Neuer Drucker"
odoc.setprinter(newProps())