Problem beim Einfärben von Zeilen einer Texttabelle (basic)

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

Moderator: Moderatoren

Holla die Waldfee
Beiträge: 4
Registriert: Mo, 13.06.2005 16:40

Problem beim Einfärben von Zeilen einer Texttabelle (basic)

Beitrag von Holla die Waldfee »

Ich möchte gerne die Hintergrundfarbe von Zellen in einer Texttabelle ändern.

Die Färbung soll sich zeilenweise abwechseln. Also
eine Zeile grün
eine Zeile blau
eine Zeile grün
eine Zeile blau
...


folgenden Code hab ich mir dafür überlegt:

Code: Alles auswählen

	lngCount=TextTable.Rows.Count-1
	for i=0 to lngCount
		objRow=TextTable.getCellRangeByPosition(0,i,2,i)
		if i mod 2 <> 0 then
			objRow.backcolor=&H0000ff
		else
			objRow.backcolor=&H00FF00
		end if		
	next i
Sollte soweit ja funktionieren.

Kurioserweise funktioniert es aber nur wunschgemäss wenn ich vor der Schleife einen Haltepunkt setzte.

Wenn ich den Code ohne Haltepunkt laufen lassen werden mir reproduzierbar bestimmte Zeilen nicht eingefärbt.

Gibt es sowas wie eine refresh- oder flush- Methode die ich anwenden kann/muss???
Oder kennt jemand einen besseren Code für diese Aufgabe??

mfg
Waldfee
zap
**
Beiträge: 20
Registriert: Di, 11.01.2005 13:18
Wohnort: Hannover

Beitrag von zap »

Hi,

bei mir funktioniert das folgene Makro bei bestehender Tabelle sowohl in 1.1.4 als auch in 2 build 104:

Code: Alles auswählen

sub alternate(s as string)
  doc = thiscomponent
  table = doc.texttables(0)
  lngCount=table.Rows.Count-1
  for i=0 to lngCount
    objRow=table.getCellRangeByPosition(0,i,1,i)
    if i mod 2 <> 0 then
      objRow.backcolor=&H0000ff
    else
      'objRow.backcolor=&H00FF00
      'kann man alternativ auch objRow.backcolor= RGB(0,255,0) schreiben
      objRow.backcolor= RGB(0,255,0)
    end if      
 next i 
end sub
Zap
Antworten