Leerzeilen aus Tabelle entfernen

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

Moderator: Moderatoren

eddi-z
Beiträge: 3
Registriert: Do, 10.12.2009 10:00

Leerzeilen aus Tabelle entfernen

Beitrag von eddi-z »

Hallo,


in einer ellenlangen Tabelle befinden sich Leerzeilen.
Die gilt es zu entfernen.
Als absoluter Laie, bitte ich um eine Variante, die ich auch verstehen kann :o)


Vielen Dank schonmal.
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Leerzeilen aus Tabelle entfernen

Beitrag von Karolus »

Hallo

Die Glaskugel ist grad im Urlaub, gib erst mal eine Probembeschreibung bei der man nicht 70% Kontextinformationen erraten muss!

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
eddi-z
Beiträge: 3
Registriert: Do, 10.12.2009 10:00

Re: Leerzeilen aus Tabelle entfernen

Beitrag von eddi-z »

OK,


ich habe eine große Tabelle, in der sich Leerzeilen befinden.
Es geht schlicht und ergreifend darum, wie ich diese Leerzeilen am schnellsten wegbekomme.
Da das in OO wohl nur mit Basic oder Java geht, ich davon aber keine Ahnung habe, brauchts einen vorgegebenen Weg, wie ich das bewerkstelligen kann.

Gruß
eddi-z
Beiträge: 3
Registriert: Do, 10.12.2009 10:00

Re: Leerzeilen aus Tabelle entfernen

Beitrag von eddi-z »

Habs anderweitig hinbekommen.

Tschüss
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Leerzeilen aus Tabelle entfernen

Beitrag von Karolus »

Hallo
Du wiederholst dich, ohne zusätzliche Informationen zu liefern.

Handelt es sich um eine Calctabelle ?
Dann sollte sich das per Autofilter oder Standardfilter erschlagen lassen.
(-->Daten--Filter...)
Handelt es sich um eine Tabelle innerhalb von Writer ?

Code: Alles auswählen

Sub leere_zeile_enfernen
with thiscomponent.gettexttables.getbyindex(0)'1.Tabelle mit Index 0
do 
	if .getcellbyposition(0,i).string = "" then
		.getrows.removebyindex(i,1)
	else 
		i = i +1
	end if
loop while i < .getrows.getcount
end with

End Sub
eddi-z hat geschrieben:Habs anderweitig hinbekommen.
Das ist schön - danke für die Nachfrage 8)

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Leerzeilen aus Tabelle entfernen

Beitrag von TJF »

Hallo Karo,

ich versuche gerade auf mehreren Wegen meine kleinen Probleme zu lösen. Ein guter Weg wäre es, Dein o.g. Makro in einer Writer-Tabelle (DDE-Verknüpfung aus Calc-Tabelle) so geändert einzusetzen, dass leere Tabellen-Zeilen nicht gelöscht werden (was hier gar nicht geht), sondern nur in Ihrer Höhe z.B. auf 0,01cm verkleinert werden. Also mit Height (Long) aus "com.sun.star.text.TextTableRow". Kriege es leider (noch) nicht gebacken... Hast Du eine Idee, wie das lösbar ist?

Dank und Gruß
Thomas
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Leerzeilen aus Tabelle entfernen

Beitrag von Karolus »

Hallo
Wenn du eine Tabelle mit einer DDE-Verknüpfung hast , dann ist das doch gar keine Texttabelle sondern eine eingefügtes 'OLE-objekt--Tabelle' ?
oder übersehe ich hier etwas.

Beschreib mal genauer um was es geht.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Leerzeilen aus Tabelle entfernen

Beitrag von TJF »

Hallo Karo,

eingefügte Ole-Tabellen schauen zumindest anders aus. Ich nehme eine Calc-Tabelle, kopiere einen Zellbereich in die Zwischenablage und hole diesen Bereich via "Inhalte einfügen->DDE Verknüpfung" in das Writer-Dokument (Bearbeiten->Verknüpfungen). Diese DDE-Verknüpfungstabelle im Writer-Dokument läßt sich genauso formatieren, wie eine Writer-Tabelle. Wird die Verknüpfung gelöst, bleibt die Tabelle genauso erhalten, wie vorher. Deshalb bin ich zumindest davon ausgegangen, dass es sich um eine "Writer-Tabelle" handelt...

Viele Grüße
Thomas
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Leerzeilen aus Tabelle entfernen

Beitrag von Karolus »

Hallo
Ich hab mal etwas rumprobiert, funktioniert folgendes ?

Code: Alles auswählen

Sub leere_zeile_minimieren
with thiscomponent.gettexttables.getbyindex(0)'1.Tabelle mit Index 0
for i = 0 to .getrows().getcount -1
	if .getcellbyposition(0,i).string = "" then
		.getrows.getbyindex(i).IsAutoHeight = false
		.getrows.getbyindex(i).height = 10 'hier geht auch Höhe 0
	else
		.getrows.getbyindex(i).IsAutoHeight = true
	end if
next
end with
end sub


Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Leerzeilen aus Tabelle entfernen

Beitrag von TJF »

Hallo Karo,

funktioniert perfekt! Das ist DIE Lösung! Tausend Dank!

Viele Grüße
Thomas
flieger2006
Beiträge: 3
Registriert: Do, 11.04.2013 23:29

Re: Leerzeilen aus Tabelle entfernen

Beitrag von flieger2006 »

Mhmmm, war nicht angemedet. Der Beitrag stammt von mir.

Gruß,
Stephan
Gast hat geschrieben:Hallo,

ich sitze auch ein wenig zu mit leeren Zeilen in DDE-verknüpften Tabellen in einem Libre Office Writer-Dokument.

Das zitierte Makro tut bei mir nix. Weder mit einfachen Writer-Tabellen noch mit den DDE-Tabellen.

Hat der Haken in dem Zeilenhöhen-Dialog "Dynamisch Anpassen" was damit zu tun?

In den leeren DDE-Zeilen liegt ne Formel liegt die aber in diesem Fall nur ein "" ausgibt.

Kann mir jemand weiterhelfen?
Karolus hat geschrieben:

Code: Alles auswählen

Sub leere_zeile_minimieren
with thiscomponent.gettexttables.getbyindex(0)'1.Tabelle mit Index 0
for i = 0 to .getrows().getcount -1
	if .getcellbyposition(0,i).string = "" then
		.getrows.getbyindex(i).IsAutoHeight = false
		.getrows.getbyindex(i).height = 10 'hier geht auch Höhe 0
	else
		.getrows.getbyindex(i).IsAutoHeight = true
	end if
next
end with
end sub
Antworten