Hallo Andreas,
ich war ein paar Tage unterwegs, deshalb kommt mein Nachtrag erst jetzt
Gerhard Weydt schrieb:
vorab: deine https://example.tld/ funktioniert auch nicht, wenn ich es
aus deiner Mail aus durch Klick aus oder direkt im Browser aufrufe. Nimm
also lieber etwas anderes zum Testen,
"example.tld" ist ein reiner Platzhalter.
Es wird im Browser aufgerufen, das genügt zum Testen.
Ich hatte mir mal gemerkt, dass es als gute Praxis gilt zum Testen
keine existierende Domain zu missbrauchen.
Da stimme ich dir zu, der Punkt bei mir ist nur, dass ich beidem von dir angegebenen Link gar keine Antwort kriege, wenn ich ihn im Browser angebe, deswegen mein Tipp, eine andere Adresse zu nehmen, z.B. www.beispiel.org, das ich irgendwo mal gesehen habe, das funktioniert im Browser. Ich weiß nicht ob es da noch mehr gibt. Ichhabe es auch mit der Startseite von LibreOffice probiert, das ist, denke ich, auch eine Seite, die man guten Gewissens öffentlich nennen kann.
Ich stelle aber fest, dass Calc Webadressen normalerweise erkennt, wenn
sie einfach als Text dastehen, aber nicht wenn sie Ergebnis einer Formel
sind:
ich habe in Tabelle2 noch die Zelle D2=C2&B2, da ist der _angezeigte
_Inhalt genau die Adresse der Webseite über die Hilfe von LibreOffice.
Aber der Inhalt wird nicht als Link erkannt.
Wenn ich den gleichen Inhalt direkt als Text eingebe, dann erkennt Calc
das als Link, sichtbar an der blauen Hinterlegung. (Manchmal hat das
nicht gleich geklappt, z.B. war zuerst nur der Text bis vor -support/
hinterlegt, dann habe ich mal die Anführungszeichen dazu getan, dann hat
Calc den ganzen String ohne die Anführunsgzeichen hinterlegt,
Anführungszeichen wieder weg -> ganzer String wie gewünscht hinterlegt.
Der Inhalt des Links entsprach der Hinterlegung.)
Ich nehme daher an, dass die HYPERLINK-Funktion
1. gebraucht wird, um für Ergebnisse von Formeln auch die Behandlung
als Hyperlink anzustoßen. Denn es ist schon etwas anderes, in einer
Zelle bei Eingabe/Änderung des Textes zu prüfen, ob es formal ein
Link ist, oder das bei allen Zellen mit Formeln bei jeder Berechnung
zu tun. Ich habe zuwenig Ahnung, was genau alles abläuft, wenn eine
Zelle geändert wird, um eine Größenordnung des Aufwands im Vergleich
zum Ändern des Texts einer Zelle abzuschätzen, aber mein Gefühl sagt
mir, dass es relevant genug ist, dass die Entwickler auf die
Hyperlink-Prüfung in diesem Fall lieber verzichten, weil ja auch
große Calc-Dateien möglichst schnell berechnet werden sollen. Da ist
ein per Formel zusammengesetzter Hyperlink doch ein exotischer
Ausnahmefall, dafür verlangsamt man nicht die fast 100 % der
Dateien, die keinen enthalten.
2. für das Hinzufügen eines Anzeigetexts statt des technischen Links
benötigt wird, was man ja meistens bevorzugt.
Danke für Deine Ideen dazu.
Mir leuchtet ein, dass es Ressourcen verbraucht, zu erraten, ob etwas
ein Hyperlink ist. Da wird vermutlich ein regulärer Ausdruck im
Hintergrund drüber laufen.
Aber die Funktion HYPERLINK ist ja gerade eine explizite Angabe und da
muss nix geraten werden.
Daher scheidet "Einsparen von Ressourcen" als Motiv aus, das Ergebnis
von HYPERLINK nicht zu transportieren, wenn auf diese Zelle Bezug
genommen wird.
Es ist da doch noch ein Unterschied: Calc setzt je nach Inhalt der Zelle einen Typ (value, string, fomula), von dem so manches abhängt. z: die Erkennung eines Hyperlinks: das scheint automatisch zu gehen beim Typ "string", passiert aber nicht beim Typ "formula". Wenn der Typ "formula" ist und die Funktion HYPERLINK enthält, dann wird auch die Funktionalität aktiviert, dass durch Strg+Klick gesprungen werden kann, allerdings nicht die Blaufärbung und graue Hinterlegung (so zumindest bei mir unter WIndows). Ich habe das nur in den Fällen =HYPERLINK(... und =" "&HYPERLINK(... ausprobiert, ob's mit komplizierteren Formalen auch noch geht, weiß ich nicht.
Dein Feld in Blatt1 enthält aber eben nicht die Funktion HYPERLINK, sondern nur den Verweis auf ein anderes Feld, das dises Funktion enthält; dass es auf einem anderen Blatt ist, ist unerheblich, das passiert genauso im gleichen Blatt. Das ist also der gleiche Fall wei oben genannt: wenn der String der Zelle nicht schon eine ordentliche Link-Adresse enthält, wird das nicht erkannt, dann muss die Funktion Hyperlink _in der Zelle_ verwendet werden. DU wirst also zumindest die Hyperlink-Funktion in deinem Blatt1 verwenden müssen, alle anderen Formeln kannst du wahrschein dort raushalten und in Blatt2 abwickeln (was ich auch für das richtige Vorgehen halte).
Wo ich wohl falsch lag, ist, das ich das mit der Berechnung in Zusammenhang brachte, denn ich habe festgestellt, dass das Attribut "Hyperlink" der Zelle gar nicht gefüllt wird. Es scheint eher eine Frage der Darstellung am Bildschirm zu sein, nämlich dass die Zelle die Strg+Klick-Funktionalität zeigt. Aber das zu ermitteln, ist halt auch aufwändiger, wenn man noch den Verknüfungen nachgehen müsste.
Ob sich das jemand mal überlegt hat und bewusst darauf verzichtet hat, weiß ich nicht, vielleicht hat das auch nur noch niemand als möglichen Bedarf erkannt. Aber es ist jedenfalls ein zusätzlicher Schritt, der zu programmieren wäre und beim Darstellen jeder Calc-Tabelle, die Bezüge enthält, etwas zusätzliche Laufzeit bedeutet. Deswegen könnte ich auch verstehen, wenn man sich bewusst gegen eine Implementierung entschiede, weil es ein doch sehr seltener Fall sein wird und die Verwendung der Funktion HYPERLINK im ersten Blatt nicht als großes Manko anzusehen ist.
Für beide Punkte ist es nun aber, wenn meine Annahme stimmt, notwendig,
dass die Formel =HYPERLINK(...) im Blatt1 steht, denn der Inhalt ist das
Ergebnis einer Formel, und in dieser Zelle möchtest du die
Funktionalität haben, dass anstatt des Links ein Text angezeigt wird.
Hier verstehe ich Deine Argumentation noch nicht.
Es ist ja das Wesen eines Bezuges wie "D2=C2", dass er das Ergebnis
von C2 in D2 darstellt.
Das funktioniert bei beliebigen Formeln, die ich bisher ausprobierte
hatte.
Eigentlich ist das oben schon gesagt, aber zur Verdeutlichung: das gezeigte Ergebnis ist das Resultat eines für die Darstellung am Bildschirm ablaufenden Programmlogik, die die Eigenschaften der Zelle abfragt und darauf reagiert, z.B. indem der Inhalt der Zellen aufgrund der Bezüge ermittelt wird. Und was da abläuft, ist also zu programmieren, und wenn etwas nicht passiert, kann es übersehjen oder mit Absicht nicht berücksichtigt worden sein.
Wenn es mit Absicht geschehen wäre, könnte ich für mein Teil die Gründe nachvollziehen.
Beispiel:
A2=1
B2=2
C2=SUMME(A2+B2)
D2=C2
Anzeige D2: 3
Daher wird meine Erwartung gebrochen, weil das Ergebnis von HYPERLINK
im Gegensatz zum Ergebnis von SUMME nicht (vollständig) angezeigt
wird.
Das ist eben der Unterschied: SUMME füllt in der Zelle, wo es in der Formel steht, sowohl value als auch string mit dem Ergebnis, bei HYPERLINK gibt es nichts vergleichbares, das ist ein anderes Kaliber als die Rechen- oder Textfunktionen.
Egal, ich muss mich damit arrangieren.
Ich war nur neugierig auf das Motiv der Entwickler.
Andreas
Gruß
Gerhard