Auslesen von Zellenhöhe + breite, in cm?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
Mukundi
**
Beiträge: 20
Registriert: So, 20.06.2010 14:41
Wohnort: Karlstadt

Auslesen von Zellenhöhe + breite, in cm?

Beitrag von Mukundi »

Hallihallo,

bitte nicht lachen, aber bei QUAT(T)RO PRO erinnere ich mich, dass ich Spaltenhöhe und -breite in cm oder wenigstens in Einheiten auslesen konnte.

Bei OOo hoffe ich nun, bei jeder neuen Version, dass es ENDLICH auch dort möglich sein wird. Leider habe ich auch bei der aktuellen OOo-Version dieses Feature wieder nicht finden können *schnüff*.

Hintergrund: ich möchte oft beim Anlegen von Tabellen auf optimale Ausnutzung der Druckfläche achten, also z.B. bei einem A4-Blatt möglichst genau dieses vollständig nutzen. Weder in Breite noch Höhe möchte ich über das Ziel hinaus schießen oder Platz ungenutzt lassen. Dazu würde ich gerne den Druckbereich (soundso viele Spalten, und soundso viele Zeilen) definieren, was ja auch ganz einfach geht), und in der Zeile DARÜBER automatisch über jeder Spalte die momentane Breite angezeigt bekommen. Am rechten Ende steht dann eine Summenformel, so dass ich bei einigen Spalten durch manuelles Anpassen der Breite die Summe erreiche, die ich mir zum Ziel gesetzt habe. Zur Zeit schreibe ich jede Breite manuell hin, und muss sie auch manuell ändern, sobald ich die Spalte verändere - quasi doppelt gemoppelt, zweimal hintereinander die gleiche Zahl anwenden.

Für die Höhe mache ich es genauso "doppelt gemoppelt": links vom Druckbereich manuell die Zellhöhen eintragen, bei Höhenänderungen auch die Zahl(en) manuell ändern, und am untersten Ende der Spalte die Summe betrachten. Nur gibt es bei OOo nicht einmal einen "Versuch", die Höhe auszulesen. Für die Breite habe ich immerhin =ZELLE("WIDTH";A1) entdeckt, was nicht brauchbar funktioniert. Blöd ist nämlich, dass diese Funktion gemäß Anleitung nur die Anzahl der darstellbaren Nullen in der momentanen (Standard?) Schriftgröße zeigt, ohne Hinweis auf einen Umrechnungsfaktor, um cm daraus zu machen. Besonders blöd ist, dass eine anschließende Änderung der Spaltenbreite, gefolgt von Taste F9 (Berechnungen aktualisieren) und irgend einem Eintrag in einer anderen Zelle, NICHTS bewirkt. Erst nach dem Anklicken und versuchten Ändern der Formel wird die neue Zahl angezeigt.

Mir ist übrigens bekannt, dass man bei Format / Seite / Tabelle mit dem Skaliermodus festlegen kann, dass z.B. alles auf eine Seite passen soll, egal wie breit die errechnete Spaltensumme in cm ist. Aber durch den automatischen Zoomfaktor wird auch die auszudruckende Höhe verändert. Dann klappt es nicht mehr mit der optimalen Ausnutzung des Druckbereiches!

Habe ich ggf. nur etwas übersehen? Kann man mittlerweile DOCH von einer Zelle (oder einem Zellblock) Breite und Höhe in cm anzeigen lassen, automatisch aktualisiert bei Änderungen?

Herzlichen Dank + fröhliche Grüße
Mukundi
Win 8.1, AOO 4.1.5
Benutzeravatar
pewi
***
Beiträge: 93
Registriert: Mi, 31.12.2003 17:03
Wohnort: Rödingen

Re: Auslesen von Zellenhöhe + breite, in cm?

Beitrag von pewi »

Höhe geht meines Wissens wirklich (noch) nicht.

Aber mit
ZELLE("InfoTyp"; Bezug)

und für Bezug:
WIDTH

sagt die Hilfe:
Ergibt die Breite der referenzierten Spalte. Die Maßeinheit ist die Anzahl der Nullen (0), die in die Spalte passen, in der Standardschrift mit Standardgröße.
pewi

----------------------------------------------------------------------------------------------------------
LO 5.0.4.2 x64
Benutzeravatar
Mukundi
**
Beiträge: 20
Registriert: So, 20.06.2010 14:41
Wohnort: Karlstadt

Re: Auslesen von Zellenhöhe + breite, in cm?

Beitrag von Mukundi »

Danke Pewi, aber genau das habe ich oben bereits erwähnt :-).
Wird mir ggf. auch mal passieren, (Tipp, der doch schon erwähnt wurde),
kein Drama. Was zählt ist, wer sich die Mühe gibt, sich zu beteiligen!
Win 8.1, AOO 4.1.5
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Auslesen von Zellenhöhe + breite, in cm?

Beitrag von balu »

Hallo Mukundi,

schau dich doch mal im OOo Basic und Java Unterforum um. Such dort am besten nach: Zeilenhöhe sowie Spaltenbreite. Wenn Du dann nicht weiterkommst, frag bitte dort noch mal nach.


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
Benutzeravatar
Mukundi
**
Beiträge: 20
Registriert: So, 20.06.2010 14:41
Wohnort: Karlstadt

Re: Auslesen von Zellenhöhe + breite, in cm?

Beitrag von Mukundi »

Hallo balu,

vielen Dank.

Von Basic und Java verstehe ich LEIDER (noch) nichts, auch weiß ich nicht wie man OOo-Makros schreibt, was eine "Matrixformel" ist, und vieles vieles mehr. Ich kann aber etwas anklicken, was schon DA ist *straaaaahl*. Das dürfte vergleichbar sein mit Kochkünsten, die es zu heißem Wasser bringen; ist auch was wert :-).

Schon lange denke ich, ich könnte all das (was mich schon sehr interessiert) am effektivsten lernen, wenn es Tutorien gibt, in denen es - durchaus viele - kleine + unkomplizierte Lektionen gibt, die später auch noch das vermeintlich erworbene Wissen mit Aufgaben überprüfen. An-die-Hand-genommen-werden fänd ich prima! Und würde - wie beim Jakobsweg - auch versprechen, später einmal selbst (mind.) einen Lernwilligen auf dem Lernweg zu begleiten. Irgendwie bleibt mir zu wenig Zeit für die Dinge, die mir viel Freude bereiten. Meine Schuld, ich weiß. Aber das alles führt hier wohl zu weit :-).

Back to Business: ich werde in dem empfohlenen Forum sicher nicht die Hand vor Augen sehen, bei so viel neuem Nebel und so wenig Durchblick. Deshalb frag ich lieber gleich bei Dir nach, balu - ob Du mal schauen könntest :-)?

Herzlichen Dank + fröhliche Grüße
Mukundi
Win 8.1, AOO 4.1.5
Benutzeravatar
pewi
***
Beiträge: 93
Registriert: Mi, 31.12.2003 17:03
Wohnort: Rödingen

Re: Auslesen von Zellenhöhe + breite, in cm?

Beitrag von pewi »

Danke Pewi, aber genau das habe ich oben bereits erwähnt :-).
Vielleicht hätte ich doch erst Deinen gesamten Text lesen sollen :shock:
pewi

----------------------------------------------------------------------------------------------------------
LO 5.0.4.2 x64
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Auslesen von Zellenhöhe + breite, in cm?

Beitrag von komma4 »

Mukundi hat geschrieben:Von Basic und Java verstehe ich LEIDER (noch) nichts,
Dann wird es aber Zeit :)


Kopiere das folgende Makro in deine STANDARD-Makrobibliothek (wie das geht steht im Wiki), ändere die Angaben zu den zu beobachteten Spalten und Zeilen und den Namen des Blattes [die stehen in den ersten drei Anweisungszeilen], und rufe es dann ab.
Teste an einer Kopie Deiner Originaldaten!

Code: Alles auswählen

sub de40721

cBlattName = "Aufstellung" 
aSpalten = Array( "B", "C", "D", "E" )
aZeilen = Array( 3, 4, 5, 6 )

oDok = ThisComponent
oBlatt = oDok.Sheets().getByName( cBlattName )

For x = LBound( aSpalten ) To UBound( aSpalten ) 

   Spalte = oBlatt.Columns().getByName( aSpalten( x ) )
   oBlatt.getCellRangeByName( aSpalten( x ) & "1" ).Value = _
   Spalte.Width
   
Next x


gesamtHoehe = 0
For y = LBound( aZeilen ) To UBound( aZeilen ) 

   Zeile = oBlatt.Rows().getByIndex( aZeilen( y ) - 1 )
   gesamtHoehe = gesamtHoehe + Zeile.Height 
   
Next y

lastZeile = aZeilen( UBound( aZeilen() ) 
lastZeile = lastZeile + 1
oBlatt.getCellRangeByName( aSpalten( 0 ) & lastZeile ).Value = _
 gesamtHoehe

End Sub

Die Angaben sind in 1/100 mm .... kommst Du damit zurecht?

Ich muss jetzt weg, noch eine Anmerkung:
das Makro kann umgeschrieben werden, dass der markierte Bereich (eines beliebigen Blatts) genommen wird... Interesse?
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)
Antworten