🙏 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. 🤗

[Gelöst] Leere Zellen erkennen in Calc-Funktion

Alles zur Programmierung im LibreOffice.
Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: [Gelöst] Leere Zellen erkennen in Calc-Funktion

Beitrag von karolus » Mi 26. Mär 2014, 19:32

Hallo
F3K Total hat geschrieben:... ich denke man kann, auch wenn "nur" ein Array was den Zellbereich beschreibt, also quasi die Zelladressen übergeben wird, innerhalb der UDF mit Hilfe der Zelladressen auf die Zellen zugreifen.
Gruß R
Nein, man kann so nicht auf die Zelladressen zugreifen.

Teste doch einfach mal:

Code: Alles auswählen

Function mytest( zellbereich as variant )
mri(zellbereich)
end function
und schreibe in eine Calczelle:

Code: Alles auswählen

=mytest( A1:B3 )
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: [Gelöst] Leere Zellen erkennen in Calc-Funktion

Beitrag von F3K Total » Mi 26. Mär 2014, 19:38

Das ist schon klar,
ich dachte daran, den Zellbereich als String zu übergeben und dann mit

Code: Alles auswählen

.getCellRangebyName()
weiter zu machen.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

lessger
Beiträge: 249
Registriert: Fr 4. Mai 2012, 13:33

Re: [Gelöst] Leere Zellen erkennen in Calc-Funktion

Beitrag von lessger » Do 27. Mär 2014, 10:24

F3K Total hat geschrieben:Das ist schon klar,
ich dachte daran, den Zellbereich als String zu übergeben und dann mit

Code: Alles auswählen

.getCellRangebyName()
weiter zu machen.
Gruß R
Als Fingerübung werde ich das mal machen, aber ansonsten ist es nicht so schön. Es entspricht halt so garnicht dem Format anderer Calc-Funktionen.

Es gibt ja offensichtlich auch ein anderes Interface, das Karolus mit seiner Extension nutzt, wo dann wirklich die komplette Information zum ausgewählten Bereich übergeben wird. Das müßte doch eigentlich auch mit Basic gehen? Freilich reichen meine LO-Programmierkenntnisse eh noch nicht aus, um eine Extension zu bauen.

Trotzdem danke und Grüße,
Gerhard
LibreOffice 5.4.6.2 / Windows 10 64Bit / WIndows 10 32Bit

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: [Gelöst] Leere Zellen erkennen in Calc-Funktion

Beitrag von karolus » Do 27. Mär 2014, 11:15

Hallo
Es gibt ja offensichtlich auch ein anderes Interface, das Karolus mit seiner Extension nutzt, wo dann wirklich die komplette Information zum ausgewählten Bereich übergeben wird. Das müßte doch eigentlich auch mit Basic gehen? Freilich reichen meine LO-Programmierkenntnisse eh noch nicht aus, um eine Extension zu bauen.
Nein mit Basic gehts in dem Fall nicht, die Function[en] musst du dann schon in C++, Python oder Java schreiben.

Nebenbei - in meinem Beispiel wird auch nicht das komplette Bereichsobject durchgereicht.

Code: Alles auswählen

    [in] sequence< sequence< string > > inrange,
sorgt nur dafür das die Inhalte des Bereichs explizit als Text übergeben werden.

Um ein Zellbereichsobject durchzureichen müsste die entsprechende Zeile im .idl -file etwa so aussehen:

Code: Alles auswählen

[in] ::com::sun::star::table::XCellRange  inrange
siehe http://www.openoffice.org/api/docs/comm ... AddIn.html

Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


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