Benutzerdefinierte Eigenschaften (OOo3.1)
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Benutzerdefinierte Eigenschaften (OOo3.1)
Besorge Dir Andrew Pitonyaks Makro Dokument, da ist ein Beispiel drinne.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Benutzerdefinierte Eigenschaften (OOo3.1)
Du verwendest in der FUNCTION (warum F., wenn Du den Rückgabewert nicht auswertest?) die gleiche Variable i%, die nach dem letzten Durchlauf 4 ist ... als Index dann wohl der fünfte Eintrag - und den gibt es nicht.
Ausserdem solltest Du DocumentProperties (seit OOo 3.x) verwenden (DocumentInfo nur bis 2.x unterstützt)
Sorry - gerade keine Zeit für genaue /weitere Untersuchungen des Codes.
Viel Erfolg!
Ausserdem solltest Du DocumentProperties (seit OOo 3.x) verwenden (DocumentInfo nur bis 2.x unterstützt)
Sorry - gerade keine Zeit für genaue /weitere Untersuchungen des Codes.
Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Benutzerdefinierte Eigenschaften (OOo3.1)
Code: Alles auswählen
If userProps.getPropertySetInfo().hasByName( strVarName ) Then
print "vorhanden: " & strVarName
Else
userProps.removeProperty(strVarName)
userProps.addProperty(strVarName, ,aValue)
End If
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Benutzerdefinierte Eigenschaften (OOo3.1)
Hier noch zur Vollständigkeit ein kleines Beispielprogramm zum lesen und schreiben von Benutzerdefinierten Eigenschaften. Für Verbesserungsvorschläge bin ich offen:
Code: Alles auswählen
Sub Main
msgbox(SetDocProperty("myName", "viper"))
msgbox(GetDocProperty("myName"))
msgbox(SetDocProperty("myName", "bone"))
msgbox(GetDocProperty("myName"))
End Sub
Public Sub SetDocProperty(ByVal strVarName, ByVal aValue) as Boolean
Dim userProps As Object
Dim result as Boolean
result = false
On Error Goto ErrHandler
' get UserDefined Properties
userProps = thisComponent.DocumentProperties.getUserDefinedProperties()
' Try to Remove; on Error Property doesen't exists yet
If userProps.getPropertySetInfo().hasPropertyByName(strVarName) = False then
' http://api.openoffice.org/docs/common/ref/com/sun/star/beans/XPropertyContainer.html
userProps.addProperty(strVarName, ,aValue)
Else
' http://api.openoffice.org/docs/common/ref/com/sun/star/beans/XPropertySet.html
userProps.setPropertyValue(strVarName, aValue)
End If
result = true
ExitFunc:
SetDocProperty = result
Exit sub
ErrHandler:
Goto ExitFunc
End Sub
Public Sub GetDocProperty(ByVal strVarName) As String
Dim userProps As Object
On Error Resume Next
' get UserDefined Properties
userProps = thisComponent.DocumentProperties.getUserDefinedProperties()
' Try to Remove; on Error Property doesen't exists yet
If userProps.getPropertySetInfo().hasPropertyByName(strVarName) = True then
' http://api.openoffice.org/docs/common/ref/com/sun/star/beans/XPropertySet.html
GetDocProperty = userProps.getPropertyValue(strVarName)
Else
GetDocProperty = ""
End If
End Sub
fg viperbone