[gelöst] SetPropertyValue - BorderLine
Moderator: Moderatoren
[gelöst] SetPropertyValue - BorderLine
Hallo,
wie arbeite ich richtig mit den BorderLines? Ich habe da bisher keine tauglichen Informationen gefunden.
oRange.setPropertyValue("BorderLine.Color", RGB(255,255,255)) funktioniert nicht, ebensowenig
oRange.setPropertyValue.BorderLine("Color", RGB(255,255,255))
Wie wird das richtig angewendet? (Alternativ: Wie bekomme ich es hin, dass die Zellumrandungen bei "für Ausdruck ausblenden" mit ausgeblendet werden?)
Vielen Dank!
TrueColor
wie arbeite ich richtig mit den BorderLines? Ich habe da bisher keine tauglichen Informationen gefunden.
oRange.setPropertyValue("BorderLine.Color", RGB(255,255,255)) funktioniert nicht, ebensowenig
oRange.setPropertyValue.BorderLine("Color", RGB(255,255,255))
Wie wird das richtig angewendet? (Alternativ: Wie bekomme ich es hin, dass die Zellumrandungen bei "für Ausdruck ausblenden" mit ausgeblendet werden?)
Vielen Dank!
TrueColor
Zuletzt geändert von TrueColor am Do, 18.07.2013 09:10, insgesamt 1-mal geändert.
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: SetPropertyValue - BorderLine
Hallo
Dann nimm mal die Hilfe von Mri in Anspruch, statt irgendwelchen Pseudocode zu posten.
Karolus
Dann nimm mal die Hilfe von Mri in Anspruch, statt irgendwelchen Pseudocode zu posten.
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: SetPropertyValue - BorderLine
Hallo Karolus,
danke, ich werd's mal testen, kann ich aber nicht von hier aus machen.
Aber wie kommst du auf Pseudo-Code? Das ist hier beschrieben:
http://www.openoffice.org/api/docs/comm ... rties.html
Und CellBackColor fkt. doch auch, das hat aber auch keine Unterkategorien. Für BorderLine bzw. TopBorder etc. habe ich keine Anwendungsbeispiele gefunden, für die Hintergrundfarbe dagegen massenhaft.
Grüße
Robert
danke, ich werd's mal testen, kann ich aber nicht von hier aus machen.
Aber wie kommst du auf Pseudo-Code? Das ist hier beschrieben:
http://www.openoffice.org/api/docs/comm ... rties.html
Und CellBackColor fkt. doch auch, das hat aber auch keine Unterkategorien. Für BorderLine bzw. TopBorder etc. habe ich keine Anwendungsbeispiele gefunden, für die Hintergrundfarbe dagegen massenhaft.
Grüße
Robert
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: SetPropertyValue - BorderLine
Hallo
Hier ein funktionierendes Beispiel:
Genau -- deshalb schrieb ich "Pseudocode"Aber wie kommst du auf Pseudo-Code? Das ist hier beschrieben:
http://www.openoffice.org/api/docs/comm ... rties.html

Hier ein funktionierendes Beispiel:
Code: Alles auswählen
Sub Main
dim linestyle as new com.sun.star.table.BorderLine
linestyle.Color = 111111
linestyle.OuterLineWidth = 100
sel = thisComponent.CurrentSelection
borders = array("TopBorder", "LeftBorder", "RightBorder", "BottomBorder")
styles = array(linestyle,linestyle,linestyle,linestyle)
sel.setPropertyValues(borders , styles)
End Sub
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: SetPropertyValue - BorderLine
Hallo Robert,
Dort geht es wohl um Tabellen im Writer, aber das gilt auch uneingeschränkt für Calc.
Und ferner findest Du bei Dannenhöfer auch sehr nützliche Informationen dazu. Ich sage jetzt aber nicht genau wo Du diese Informationen finden wirst, ich gebe dir nur den Suchbegriff vor, der da lautet: BorderLine
Und mit diesem Suchbegriff hatte ich auch im Forum gesucht.
.
CellBackColor hat ja nur die eine Eigenschaft; Farbe für eine Zelle zuweisen. (Badelatschen)
Borderline jedoch hat mehrere Eigenschaften; Rahmenfarbe, Dicke, Position....(Winterstiefel) Und deshalb muss ein Stuct erzeugt werden womit die gewünschten Einstellungen angewendet werden können.
Ich hoffe ich konnt dir ein wenig weiterhelfen, auch wenn Karo schneller war und eine sehr schöne Array-Lösung präsentiert hat *Daumen-hoch*. Werd ich mir merken.
Viel Glück beim Probieren
[EDITH]
[/EDITH]
Gruß
balu
Ich glaube Du suchst wohl mit den falschen Suchparametern, denn ich hatte auf anhieb einen Thread gefunden der für dich wohl Licht ins Dunkel bringen kann: Guckst Du hier.wie arbeite ich richtig mit den BorderLines? Ich habe da bisher keine tauglichen Informationen gefunden.
Dort geht es wohl um Tabellen im Writer, aber das gilt auch uneingeschränkt für Calc.
Und ferner findest Du bei Dannenhöfer auch sehr nützliche Informationen dazu. Ich sage jetzt aber nicht genau wo Du diese Informationen finden wirst, ich gebe dir nur den Suchbegriff vor, der da lautet: BorderLine
Und mit diesem Suchbegriff hatte ich auch im Forum gesucht.
Badelatschen und Winterstiefel kann man wahrlich nicht gut miteinander vergleichenUnd CellBackColor fkt. doch auch, das hat aber auch keine Unterkategorien.

CellBackColor hat ja nur die eine Eigenschaft; Farbe für eine Zelle zuweisen. (Badelatschen)
Borderline jedoch hat mehrere Eigenschaften; Rahmenfarbe, Dicke, Position....(Winterstiefel) Und deshalb muss ein Stuct erzeugt werden womit die gewünschten Einstellungen angewendet werden können.
Wie schon gesagt, da hattest Du irgendwie falsch gesucht. Das soll jetzt aber nichts böses gegen dich sein. Denn ich vermute mal sehr stark das dir schlicht ergreifend der richtige Suchbegriff fehlte.Für BorderLine bzw. TopBorder etc. habe ich keine Anwendungsbeispiele gefunden,
Ich hoffe ich konnt dir ein wenig weiterhelfen, auch wenn Karo schneller war und eine sehr schöne Array-Lösung präsentiert hat *Daumen-hoch*. Werd ich mir merken.
Viel Glück beim Probieren

[EDITH]
Das habe ich jetzt nicht getestet, aber wenn Du dir Mri besorgt hast, oder schon mit Xray arbeitest, dann versuchs mal mit dem Struct: .CellProtectionAlternativ: Wie bekomme ich es hin, dass die Zellumrandungen bei "für Ausdruck ausblenden" mit ausgeblendet werden?
[/EDITH]
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: SetPropertyValue - BorderLine
Und CellBackColor fkt. doch auch, das hat aber auch keine Unterkategorien.
ja, nur gibt es ja auch nur jeweils eine mögliche Farbe für den Zellhintergrund, bei der Zellumrandung sind hingegen 4 Farben gleichzeitig möglich.
Gruß
Stephan
Re: SetPropertyValue - BorderLine
Oh... das war wohl die Schlüssel-Information, die mir fehlte.Und deshalb muss ein Stuct erzeugt werden womit die gewünschten Einstellungen angewendet werden können.
Und bei Dannenhöfer hab ich diesmal ganz vergessen nachzuschauen.
Danke erstmal an alle. MRI muss ich mir noch anschauen
Schönes Wochenende,
Robert
p.s.:
Doch, man muss nur die Gemeinsamkeiten finden, zählt beides als FußbekleidungBadelatschen und Winterstiefel kann man wahrlich nicht gut miteinander vergleichen

System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: SetPropertyValue - BorderLine
Hallo balu,
Grüße
Robert
Ich hab's jetzt noch nicht mit dem Struct probiert, sondern gehe jetzt nur vom Namen aus (probieren werde ich's noch), aber ich glaube nicht, dass das hilft. Wenn ich manuell (also übers Menü, nicht per Macro) Zeilleigenschaften --> Zellschutz --> für Ausdruck ausblenden aktiviere, wird alles (also Inhalt, Hintergrundfarben) ausgeblendet, Rahmen bleiben sichtbar.[EDITH]Das habe ich jetzt nicht getestet, aber wenn Du dir Mri besorgt hast, oder schon mit Xray arbeitest, dann versuchs mal mit dem Struct: .CellProtectionAlternativ: Wie bekomme ich es hin, dass die Zellumrandungen bei "für Ausdruck ausblenden" mit ausgeblendet werden?
[/EDITH]
Grüße
Robert
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: SetPropertyValue - BorderLine
Und so soll es auch sein.Wenn ich manuell (also übers Menü, nicht per Macro) Zeilleigenschaften --> Zellschutz --> für Ausdruck ausblenden aktiviere, wird alles (also Inhalt, Hintergrundfarben) ausgeblendet, Rahmen bleiben sichtbar.
Entschuldigung, nur bitte dazu keine Diskussion, denn die bringt nichts. Ein Programm kann man immer nur so nutzen wie es funktioniert und nicht so wie man sich wünschen würde das es funktioniert, weswegen die Frage nach ein er Funktion die nicht existiert irgendwie nicht zielführend ist.
Ich würde die Frage "Wie bekomme ich es hin, dass die Zellumrandungen bei "für Ausdruck ausblenden" mit ausgeblendet werden?" stellen als:
Wie kann ich beim Ausdrucken einer Tabelle vorübergehend dafür sorgen das die Zellumrandungen nicht angezeigt werden?
und eine mögliche Antwort wäre dann: Weise vor dem Drucken eine andere Zellvorlage zu, die Du danach wieder gegen die ursprüngliche Zellvorlage ersetzt.
Gruß
Stephan
Re: SetPropertyValue - BorderLine
Hallo,
Gruß
balu
Stimmt! Das hilft nicht. Fehler meinerseits.TrueColor hat geschrieben: Ich hab's jetzt noch nicht mit dem Struct probiert, sondern gehe jetzt nur vom Namen aus (probieren werde ich's noch), aber ich glaube nicht, dass das hilft.
Keine Angst, meinerseits wird es nicht dazu kommen.Stephan hat geschrieben: Entschuldigung, nur bitte dazu keine Diskussion
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: SetPropertyValue - BorderLine
[quote="StephanEntschuldigung, nur bitte dazu keine Diskussion, denn die bringt nichts. Ein Programm kann man immer nur so nutzen wie es funktioniert und nicht so wie man sich wünschen würde das es funktioniert, weswegen die Frage nach ein er Funktion die nicht existiert irgendwie nicht zielführend ist.[/quote]
Kein Problem, ich hab befürchtet, dass da keine Lösung existiert. Aber die Hoffnung war da, weil ich hatte schon einige Male auf diesem Wege Möglichkeiten, die das GUI nicht zur Verfügung stellte (nicht nur auf OOo bezogen).
Danke & Grüße
Robert
Kein Problem, ich hab befürchtet, dass da keine Lösung existiert. Aber die Hoffnung war da, weil ich hatte schon einige Male auf diesem Wege Möglichkeiten, die das GUI nicht zur Verfügung stellte (nicht nur auf OOo bezogen).
Deswegen mein Ansatz mit der Rahmenfarbe. Aber Zellvorlage wechseln klingt noch etwas eleganter.und eine mögliche Antwort wäre dann: Weise vor dem Drucken eine andere Zellvorlage zu, die Du danach wieder gegen die ursprüngliche Zellvorlage ersetzt.
Danke & Grüße
Robert
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: SetPropertyValue - BorderLine
Hallo Balu,
Allerdings finde ich das arg umständlich bzw. der Lesbarkeit nicht sonderlich zuträglich, besonders, wenn man nur eine Eigenschaft aus .CellProtection benötigt.
Grüße
Robert
Ganz so falsch war das nicht.balu hat geschrieben:Stimmt! Das hilft nicht. Fehler meinerseits.TrueColor hat geschrieben: Ich hab's jetzt noch nicht mit dem Struct probiert, sondern gehe jetzt nur vom Namen aus (probieren werde ich's noch), aber ich glaube nicht, dass das hilft.
Code: Alles auswählen
Dim myProtectionOn as new com.sun.star.util.CellProtection
with myProtectionOn
.isPrintHidden = True
end with
Dim myProtectionOff as new com.sun.star.util.CellProtection
with myProtectionOff
.isPrintHidden = False
end with
[...]
oCell.CellProtection = myProtectionOn
[...]
oCell.CellProtection = myProtectionOff
Grüße
Robert
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: [gelöst] SetPropertyValue - BorderLine
So, jetzt fkt. alles so, wie ich's mir vorgestellt hab. Danke nochmal an alle Beteiligten.
Code: Alles auswählen
Sub Druckauswahl(Event)
Dim oChkBox as Object
Dim i as Integer
Dim j as Integer
Dim k as Integer
Dim myLineStyle as new com.sun.star.table.BorderLine
Dim myProtection as new com.sun.star.util.CellProtection
oChkBox = Event.Source.Model
oSheet = ThisComponent.getCurrentController.getActiveSheet
Select Case oChkBox.State
Case 0
i = right(oChkBox.Name,1) 'Ranges
oRange = oSheet.getCellRangeByName("schmal_" & i)
for j = 0 to ubound(oRange.data) 'Y-Axis/Rows
Select Case j
Case 2, 4, 6, 8, 10
myLineStyle.Color = rgb(255,255,255)
myLineStyle.outerLineWidth = 0
oCell.topBorder = myLineStyle
End Select
for k = 0 to ubound (oRange.data(0)) 'X-Axis/Colums
oCell = oRange.getcellbyposition(k,j)
oCell.CharColor = rgb (200,200,200)
myProtection.isPrintHidden = True
oCell.CellProtection = myProtection
next k
next j
Case 1
i = right(oChkBox.Name,1) 'Ranges
oRange = oSheet.getCellRangeByName("schmal_" & i)
for j = 0 to ubound(oRange.data) 'Y-Axis/Rows
Select Case j
Case 2, 4, 6, 8, 10
myLineStyle.Color = rgb(0,0,0)
myLineStyle.outerLineWidth = 5
oCell.topBorder = myLineStyle
End Select
for k = 0 to ubound (oRange.data(0)) 'X-Axis/Colums
oCell = oRange.getcellbyposition(k,j)
oCell.CharColor = rgb (0,0,0)
myProtection.isPrintHidden = False
oCell.CellProtection = myProtection
next k
next j
End Select
End Sub
System:
LibO 6 + LibO 7
LibO 6 + LibO 7