Hintergrandfarbe automatisch ändern

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

bredfeld
**
Beiträge: 20
Registriert: Sa, 17.03.2012 20:15

Hintergrandfarbe automatisch ändern

Beitrag von bredfeld »

Buongiorno
Ich bin Neuling hier und suche nach einer Lösung meines Problems.
Ich möchte gerne eine Zelle farblich z.B auf Hellgrün verändern wenn ich diese mit der Maus selektiere.
Bei Wiederholung will ich aber den alten Farbwert wieder herstellen.
Und damit das Ganze noch so ähnlich wie eine Drag and Drop aussieht möchte ich diese Zelle in eine zweite Tabelle kopieren.
So, als wenn man sich einen Warenkorb füllt.
Hat da Jemand eine Idee??
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Hintergrandfarbe automatisch ändern

Beitrag von F3K Total »

Hallo Bredfeld,
die Sache mit dem Einfärben geht zum Beispiel mit diesem Makro:

Code: Alles auswählen

Sub S_insert_color
nbackcolor = 65280
osel = thiscomponent.currentselection
if osel.CellBackColor <> nbackcolor then osel.CellBackColor = nbackcolor else osel.CellBackColor = -1
End Sub
... das Du an das Tabellerereignis "Doppelklick" hängst.
Beim ersten Doppelklick wird die gewählte Zelle grün, beim zweiten Mal wird sie wieder weiß.
bredfeld hat geschrieben:Und damit das Ganze noch so ähnlich wie eine Drag and Drop aussieht möchte ich diese Zelle in eine zweite Tabelle kopieren.
So, als wenn man sich einen Warenkorb füllt.
Hat da Jemand eine Idee??
Wohin soll den die Zelle kopiert werden?
In die Erste Spalte, sechzehnte Zeile, oder vielleicht in die 998zigste Spalte 234546igste Zeile?
Da benötigt man schon genauere Angeaben darüber, was Du erreichen willst.

Gruß R
Zuletzt geändert von F3K Total am So, 18.03.2012 22:55, insgesamt 1-mal geändert.
bredfeld
**
Beiträge: 20
Registriert: Sa, 17.03.2012 20:15

Re: Hintergrandfarbe automatisch ändern

Beitrag von bredfeld »

Es soll in die gleiche Zelle aus der es auch herausgekommen ist.
Nur ist es halt eine andere Tabelle.
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Hintergrandfarbe automatisch ändern

Beitrag von F3K Total »

jo, mit diesem Makro

Code: Alles auswählen

Sub S_insert_color_line_AG
nbackcolor = 65280'44544
osel = thiscomponent.currentselection
oaddress = osel.rangeaddress
nrow = oaddress.startrow
ncolumn = oaddress.startcolumn
nsheet = oaddress.sheet
if ncolumn < 7 then 'Spalte H hat den Spaltenindex 7
oSheet = thiscomponent.sheets(nsheet) 
oRange = oSheet.getcellrangebyposition(0,nrow,6,nrow)' die 6 ist der Spaltenindex von Spalte G
if osel.CellBackColor <> nbackcolor  then oRange.CellBackColor = nbackcolor else oRange.CellBackColor = -1
endif
End Sub
... das Du an das Tabellerereignis "Doppelklick" hängst.
Beim ersten Doppelklick in den Spalten A bis G werden die Zellen A bis G grün, beim zweiten Mal werden sie wieder weiß.

Gruß R
Zuletzt geändert von F3K Total am So, 18.03.2012 22:54, insgesamt 1-mal geändert.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Hintergrandfarbe automatisch ändern

Beitrag von Stephan »

Beim ersten Doppelklick wird die gewählte Zelle grün, beim zweiten Mal wird sie wieder weiß.
Entschuldigung wenn ich das korrigiere, aber mit:

Code: Alles auswählen

if osel.CellBackColor = -1 then osel.CellBackColor = nbackcolor else osel.CellBackColor = -1
wird nichts weiß undf auch nicht unbedingt beim ersten Klick etwas grün.

Der Wert -1 steht hier für keine Hintergrundfarbe und falls hierbei eine andere Farbe eingestellt ist wird zunächst auf weiß gestellt und erst beim zweiten Doppelklick auf grün.

Dieser Hinweis nicht allein wegen der UNterschiedlichkeit in der Zellvorlage, denn dort muß dr Unterschied nicht auffallen, da optisch nicht sichtbar, sondern weil auch die Standardzellvorlage nur die generelle Farbeinstellung für den Hintergrund überlagert, welche unter EXtras-OPtionen-Darstellung-Dokumenthintergrund vorgegeben ist.


Gruß
Stephan
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Hintergrandfarbe automatisch ändern

Beitrag von F3K Total »

bredfeld hat geschrieben:Es soll in die gleiche Zelle aus der es auch herausgekommen ist.
Nur ist es halt eine andere Tabelle.
Na, dann nimm dieses Makro an der gleichen Stelle um die Zelle auf die nächste Tabelle zu kopieren:

Code: Alles auswählen

Sub S_insert_color_and_copy_cell
nbackcolor = 65280'44544
osel = thiscomponent.currentselection
if osel.CellBackColor <> nbackcolor then osel.CellBackColor = nbackcolor else osel.CellBackColor = -1
SourceCellAddress = osel.CellAddress
SourceRangeAddress = osel.RangeAddress
nsheet = SourceCellAddress.sheet
TargetAddress = SourceCellAddress
TargetAddress.Sheet = nsheet+1
osheet = thiscomponent.sheets(nsheet)
osheet.copyRange(TargetAddress,SourceRangeAddress)
End Sub
Gruß R
Zuletzt geändert von F3K Total am So, 18.03.2012 22:54, insgesamt 1-mal geändert.
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Hintergrandfarbe automatisch ändern

Beitrag von F3K Total »

Hallo Stephan,
Stephan hat geschrieben:wird nichts weiß und auch nicht unbedingt beim ersten Klick etwas grün.
Da hast Du Recht.
Darum folgende Korrektur ...

Code: Alles auswählen

if osel.CellBackColor <> nbackcolor then osel.CellBackColor = nbackcolor else osel.CellBackColor = -1
Beim ersten Doppelklick wird der Hintergrund der gewählten Zelle grün, beim zweiten Mal erscheint sie in der aktuellen Hintergrundfarbe des Dokumentes. Ist keine Dokumentenhintergrundfarbe eingestellt, erscheint der Zellhintergrund weiß.

Gruß Rik
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Hintergrandfarbe automatisch ändern

Beitrag von balu »

Hallo R,
... das Du an das Tabellerereignis "Doppelklick" hängst.
???
Ja ich gebs ja zu, ich steh ufm Schlauch und bin deshalb etwas dumm :oops: . Also bitte schön wie soll ich wo was machen? Denn ich find momentan weder Tabellenereignis, noch die Zuordnung Doppelklick.




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 :D
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Hintergrandfarbe automatisch ändern

Beitrag von F3K Total »

Hallo Balu,
das gibt es wohl erst seit 3.3.0, und du findest es bei einem Rechtsklick auf den Tabellenreiter.
Tabellenereignisse.png
Tabellenereignisse.png (6.52 KiB) 2242 mal betrachtet
Gruß Rik
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Hintergrandfarbe automatisch ändern

Beitrag von balu »

Hallo Rik,

ja ok, das passt.
In 3.2.1 ist es nicht, und in der 3.3.0 hatte ich nicht geschaut.

Auch wenn sich bredfeld momentan nicht dazu geäußert hat, so hättest Du das durchaus etwas präziser beschreiben können. Ist jetzt aber nicht bös gemeint.
Danke für deine Antwort :).



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 :D
bredfeld
**
Beiträge: 20
Registriert: Sa, 17.03.2012 20:15

Re: Hintergrandfarbe automatisch ändern

Beitrag von bredfeld »

Das ist ja genial. Ich bin total begeistert und wenn ich ehrlich bin dann habe ich jetzt richtig Spass daran.
Vielleicht noch eine Bitte (warscheinlich nicht die Letzte) kann man das Kopierte auch wieder mit Doppelklick herausnehmen falls man sich im Original vertan hat ?
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Hintergrandfarbe automatisch ändern

Beitrag von Stephan »

kann man das Kopierte auch wieder mit Doppelklick herausnehmen falls man sich im Original vertan hat ?
Natürlich kann man das, und da Du ja:
und wenn ich ehrlich bin dann habe ich jetzt richtig Spass daran
kriegst Du das ja nun bestimmt auch selbst hin. Macht doch sicher auch wenig Spass sich nur immer fertige LÖsungen von anderen vorsetzen zu lassen...



Gruß
Stephan
bredfeld
**
Beiträge: 20
Registriert: Sa, 17.03.2012 20:15

Re: Hintergrandfarbe automatisch ändern

Beitrag von bredfeld »

Bis jetzt habe ich meine Sachen auch in VBA geschrieben, aber hier tauche ich leider in eine Welt ein die mir ganz neu ist.
Vielleicht haben sie ja ein paar Tips für mich damit ich mich besser orientieren kann.
Ciao e grazie Uwe
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Hintergrandfarbe automatisch ändern

Beitrag von F3K Total »

Hallo Balu,
balu hat geschrieben:...so hättest Du das durchaus etwas präziser beschreiben können ...
oder Du hättest mal die Suche bemüht?
z.B: hier
viewtopic.php?f=18&t=51360&p=190658&hil ... is#p190658
oder hier
Google-Suche
Gruß Rik
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Hintergrandfarbe automatisch ändern

Beitrag von F3K Total »

Hallo Gast999
Gast999 hat geschrieben:Ich bin leider kläglich gescheitert...
Dann zeig mal Deinen Versuch, dann kann Dir vielleicht geholfen werden.
Gruß Rik
Antworten