Koordinaten einer Zelle ermitteln
Moderator: Moderatoren
Koordinaten einer Zelle ermitteln
Hallo,
bin neu hier und habe eine Frage.
Ich möchte gerne in OpenOffice calc per Makro die Koordinaten einer Zelle ermitteln. Also nicht Zeile/Spalte sondern die tatsächlichen xy-Koordinaten.
Kann mir jemand helfen?
Beste Grüße!
bin neu hier und habe eine Frage.
Ich möchte gerne in OpenOffice calc per Makro die Koordinaten einer Zelle ermitteln. Also nicht Zeile/Spalte sondern die tatsächlichen xy-Koordinaten.
Kann mir jemand helfen?
Beste Grüße!
Re: Koordinaten einer Zelle ermitteln
Verstehe ich nicht? Was verstehst du denn unter den „tatsächlichen xy-Koordinaten“, wenn es nicht die Zeilen und Spalten-Angabe sein darf? Polar-Koordinaten? GPS-Koordinaten?drbrode hat geschrieben:Also nicht Zeile/Spalte sondern die tatsächlichen xy-Koordinaten.
Übrigens: Immer wieder gern genommen bei Problemen des Alltags wird Michael Dannenhöfers StarBasic / OpenOffice.org Basic FAQ.
Gruß
lorbass
Re: Koordinaten einer Zelle ermitteln
Meiner Ansicht nach gibt es keine Koordinaten, ich kenne nur das Size-Objekt einer Zelle mit den Eigenschaften Width und Height.
Demnach läge die linke obere Ecke von Zelle D2 auf den Koordinaten:
Ohne das weiter geprüft zu halben dürfte das ERgebnis aber ungenau sein, denn es ist erfahrungsgemäß so das eine genaue Platzierung von Objekten in einem Tabellenblatt aufgrund von Zeilen- und Spaltenabmessungen nie genau passt, das wurde schon mehrfach hier im Forum thematisiert.
Gruß
Stephan
Demnach läge die linke obere Ecke von Zelle D2 auf den Koordinaten:
Code: Alles auswählen
Sub Main
Dim x_ges
Dim y_ges
With ThisComponent.Sheets(0)
For i = 0 to 3
x_ges = x_ges + .Columns(i).size.Width
Next i
For i = 0 To 1
y_ges = y_ges + .rows(i).size.Height
Msgbox .rows(i).size.Height
Next i
End With
Msgbox "x: " & x_ges & CHR(13) & "y: " & y_ges
End Sub
Gruß
Stephan
Re: Koordinaten einer Zelle ermitteln
Guten Abend.
Zu der Genauigkeit sage ich jetzt nix, das muss man selber mal gegentesten. Aber wie zu sehen ist, hat auch eine Zelle eine X/Y Koordinate. So etwas findet man leicht mit den Tools XRAY und/oder MRI heraus.
Gruß
balu
Einspruch Euer Ehren!Stephan hat geschrieben: Meiner Ansicht nach gibt es keine Koordinaten
Code: Alles auswählen
Sub Main
PRINT ThisComponent.sheets(0).getCellRangeByName("C3").POSITION.x
PRINT ThisComponent.sheets(0).getCellRangeByName("C3").POSITION.y
End Sub
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: Koordinaten einer Zelle ermitteln
Danke, wieder was gelernt.Einspruch Euer Ehren!
ja, ich hätte nur garnicht erwartet das es das gibt, ich habe noch nie davon gehört.So etwas findet man leicht mit den Tools XRAY und/oder MRI heraus.
Gruß
Stephan
Re: Koordinaten einer Zelle ermitteln
Hallo
Ich weiss ja das es in Basic egal ist ob man Gross|Kleinschreibung verwendet, trotzdem würde ich vorschlagen, exakt die Schreibweise zu benutzen die Mri respektive Xray zurückgeben.
Das wäre dann Position.X und .Position.Y
In Python ist es zum Glück nicht egal.
Ich weiss ja das es in Basic egal ist ob man Gross|Kleinschreibung verwendet, trotzdem würde ich vorschlagen, exakt die Schreibweise zu benutzen die Mri respektive Xray zurückgeben.
Das wäre dann Position.X und .Position.Y
In Python ist es zum Glück nicht egal.
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Koordinaten einer Zelle ermitteln
Gern geschehnStephan hat geschrieben: Danke, wieder was gelernt.
Stimmt nicht bei allem. Beispiel: *"com.sun.star....*Karolu hat geschrieben: Ich weiss ja das es in Basic egal ist ob man Gross|Kleinschreibung verwendet
Bekenne mich schuldig. Da habe ich in der kurzen Fernseh Werbepause nicht richtig aufgepasst.Karolu hat geschrieben: trotzdem würde ich vorschlagen, exakt die Schreibweise zu benutzen die Mri respektive Xray zurückgeben.
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: Koordinaten einer Zelle ermitteln
Vielen Dank für den Hinweis. Das Auslesen funktioniert auch prima. Leider scheint die Angabejedoch wie von dir erwähnt nicht ganz zu stimmen. Ich nutze die Funktion, um an diese Stelle eine in der Tabelle enthaltene Grafik zu verschieben. Trotz Verankerung an der Zelle wandert diese nämlich nach Formatierungsänderungen fröhlich auf dem Tabellenblatt umher. Leider ist Sie auch bei der Verwendung der Koordinaten nicht an der richtigen Stelle... Aber mal sehen, ob ich das noch hinkriege.Code: Alles auswählen
Sub Main
PRINT ThisComponent.sheets(0).getCellRangeByName("C3").POSITION.x
PRINT ThisComponent.sheets(0).getCellRangeByName("C3").POSITION.y
End Sub
Zu der Genauigkeit sage ich jetzt nix, das muss man selber mal gegentesten. Aber wie zu sehen ist, hat auch eine Zelle eine X/Y Koordinate. So etwas findet man leicht mit den Tools XRAY und/oder MRI heraus.
Die Seite kenne ich natürlich und ziehe sie auch regelmäßig zu rate. Die gewünschte Funktion habe ich dort aber leider nicht gefunden.Übrigens: Immer wieder gern genommen bei Problemen des Alltags wird Michael Dannenhöfers StarBasic / OpenOffice.org Basic FAQ.
Danke nochnmal an alle für die schnellen und zahlreichen Beiträge!
Re: Koordinaten einer Zelle ermitteln
Ooohh, Kommando (teilweise) zurück!
Habe festgestellt, dass die Grafik zwar in der Tabellenansicht (scheinbar) an der falschen Stelle angezeigt wird, jedoch in der Druckansicht (und das war für mich das entscheidene) vollkommen korrekt platziert wird. Somit ist das Problem für mich gelöst.
Trotzdem verhält sich OpenOffice hier für mich nicht ganz nachvollziehbar. Ein ähnlicher Effekt tritt auch immer auf, wenn man optimale Zeilenhöhen enstellt. In einer Zelle mit Textumbruch verschwindet dann in der Tabellenansicht unten machchmal etwas vom Text. In der Druckansicht hat die Zelle dann aber wirklich die optimale Höhe und der gesamte Text wird korrekt ausgedruckt.
Das Problem ist aber anscheinend schon zur genüge bekannt, wie Stephan bemerkt hat. Eine Lösung/Erklärung scheint es aber (noch) nicht zu geben...?
Beste Grüße!
Habe festgestellt, dass die Grafik zwar in der Tabellenansicht (scheinbar) an der falschen Stelle angezeigt wird, jedoch in der Druckansicht (und das war für mich das entscheidene) vollkommen korrekt platziert wird. Somit ist das Problem für mich gelöst.
Trotzdem verhält sich OpenOffice hier für mich nicht ganz nachvollziehbar. Ein ähnlicher Effekt tritt auch immer auf, wenn man optimale Zeilenhöhen enstellt. In einer Zelle mit Textumbruch verschwindet dann in der Tabellenansicht unten machchmal etwas vom Text. In der Druckansicht hat die Zelle dann aber wirklich die optimale Höhe und der gesamte Text wird korrekt ausgedruckt.
Das Problem ist aber anscheinend schon zur genüge bekannt, wie Stephan bemerkt hat. Eine Lösung/Erklärung scheint es aber (noch) nicht zu geben...?
Beste Grüße!
Re: Koordinaten einer Zelle ermitteln
Folglich liegt das Problem an der Verankerungsfunktion von Objekten in einer Calc-Tabelle. Vielleicht helfen dir zum Verständnis der Problematik folgende Beiträge ein Stück weiter.drbrode hat geschrieben:Trotz Verankerung an der Zelle wandert diese nämlich nach Formatierungsänderungen fröhlich auf dem Tabellenblatt umher. Leider ist Sie auch bei der Verwendung der Koordinaten nicht an der richtigen Stelle...
viewtopic.php?f=25&t=63444#p242229
viewtopic.php?f=25&t=66069#p257462
Hast du schon mal einen Blick in die Writer-FAQ und in die Calc-FAQ des Forums geworfen?
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
Für jeden vor dem Beginn seiner Seminararbeit ein unbedingtes MUSS: http://openoffice-uni.org/
Re: Koordinaten einer Zelle ermitteln
Die Erklärung die diesbezüglich hier im Forum bisher genannt wurde ist m. Erinnerung nach die Annahme das Ungenauigkeiten auftreten aufgrund von Rundungsfehlern von Zoll ins metrische System. Ob das wirklich den Tatsachen entspricht bzw. die alleinige Ursache ist weiß ich nicht.Das Problem ist aber anscheinend schon zur genüge bekannt, wie Stephan bemerkt hat. Eine Lösung/Erklärung scheint es aber (noch) nicht zu geben...?
Gruß
Stephan