🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Zellinhalt in variable einlesen

Alles zur Programmierung im LibreOffice.
Antworten
MaximilianWe
Beiträge: 40
Registriert: So 7. Aug 2011, 22:28

Zellinhalt in variable einlesen

Beitrag von MaximilianWe » So 2. Okt 2011, 00:01

Eigentlich kann man die Frage gar nicht stellen. Aber man kann an ihr scheitern

Ich will aus einer Zelle x deren Wert in eine Variable übernehmen.
Z.B. Zelle B2 hat den Inhalt 5. Diesen >Wert möchte ich (nackt, ohne Formel) in eine variable n übernehmen.
Das ganze soll in einer while-Schleife für aufeinanderfolgende Zellen geschehen.

Z.B.
sub main

dim von as string
i=5
while i > 10
von= "B" & i
wert= lesen( von)
....
i=i+1
wend
end sub

Function lesen(pos as string) as integer
document = ThisComponent.CurrentController.Frame
ozelle= ThisComponent.sheets(0).getCellRangeByName(pos)

lesen= ozelle.value
end Funktion

MaximilianWe
Beiträge: 40
Registriert: So 7. Aug 2011, 22:28

Re: Zellinhalt in variable einlesen

Beitrag von MaximilianWe » So 2. Okt 2011, 00:32

in Anbetracht der nächtlichen Stunde habe ich was wichtiges vergessen.
Die genannte Funktion lies 1 mal tatsächlich aus der angegebenen Zelle, allerdings einen anderen Wert. Beim zweiten Durchlauf erscheint " Funktion gilt nicht für Mehrfachselektion".
Der von der Zahl ihn der Zelle abweeichende Wert liegt wahrscheinlich daran, dass der Wert in dieser Zelle das Ergebnis eines Makros ist. ( Auch beim Kopieren ergibt der kopierte Wert keinen Sinn, außer ich kopiere ihn mit "Inhalte kopieren" ohne Formel.
Gwenau geht es also darum:
1. Eine Lösung, die auch bei mehrfachem Aufruf aus der Schleife stabil ist
2. Kann man beim Einlesen des Zellinhalts in eine Variable wie bei "Inhalte einfügen" die Formel ausblenden?

Ich komme halt von der C-Programmierung und habe noch ganz schön Lücken beim Basic.

Max

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Zellinhalt in variable einlesen

Beitrag von komma4 » So 2. Okt 2011, 09:54

MaximilianWe hat geschrieben:in Anbetracht der nächtlichen Stunde
a) Deine main liesst gar nichts, weil die Schleifen-Bedingung nicht erfüllt ist (korrekt: while i < 10)
b) schon bei dem ersten Ausführen die Fehlermeldung die Fehlermeldung: Unerwartetes Symbol: Funktion kommt

Ansonsten ist der Zugriff auf .value korrekt - liefert den Wert der Zelle und nicht die Formel. Und sie ist "stabil", läuft auch mehrfach mit gleichem Ergebnis.

Verwende die Hilfsmittel XRAY und/oder MRI - das hilft ungemein.


Und kopiere Deinen Code bei Fragen (schreibe ihn nicht ab) ;)
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten