Calc: Veraendern der Darstellung von Verknuepfungen

Übrigens:

Mit einem Makro wird man da nichts machen können, denn - so weit ich das überschaue - gibt es "CharBackColor" (nicht verwechseln mit "CellBackColor") nur für WRITER, nicht aber für CALC - da meckert das BASIC-Makro: "BASIC-Laufzeitfehler. Eigenschaft oder Methode nicht gefunden: CharBackColor."

"CharBackColor" = "Farbe für Hervorhebungen" @ WRITER. Gibt es in CALC nicht.
"CellBackColor" = "Hintergrundfarbe" @ CALC. Gibt es in WRITER nicht.

Von daher müsste wohl erst in CALC die Funktionalität "Farbe für Hervorhebungen" eingebaut werden, damit man diese ändern kann. Jetzt ist das wohl im CALC-Code irgendwo "fest verdrahtet" für beispielsweise WEB-Links.

Aber der Vorschlag von Günther funktioniert prima:

SUCHEN: https*://.+
ERSETZEN: =hyperlink("$0")

Dabei aber nicht vergessen, bei "Reguläre Ausdrücke" das "Häkchen" zu setzen !!!

Gruß
Hans-Werner :-))

Hallo Hans-Werner,

Übrigens:

Mit einem Makro wird man da nichts machen können, denn - so weit ich das überschaue - gibt es "CharBackColor" (nicht verwechseln mit "CellBackColor") nur für WRITER, nicht aber für CALC - da meckert das BASIC-Makro: "BASIC-Laufzeitfehler. Eigenschaft oder Methode nicht gefunden: CharBackColor."

"CharBackColor" = "Farbe für Hervorhebungen" @ WRITER. Gibt es in CALC nicht.
"CellBackColor" = "Hintergrundfarbe" @ CALC. Gibt es in WRITER nicht.

Von daher müsste wohl erst in CALC die Funktionalität "Farbe für Hervorhebungen" eingebaut werden, damit man diese ändern kann. Jetzt ist das wohl im CALC-Code irgendwo "fest verdrahtet" für beispielsweise WEB-Links.

Hier möchte ich doch mal widersprechen. Selbstverständlich gibt es auch in Calc ein "CharBackColor" und das kann per Makro angepasst oder geändert werden. Der Inhalt der Zelle besitzt ja ein Text-Representativ, das ist das, was Du auch siehst. Und das ist ganz normal ein XTextRange- Objekt (wie auch in Writer). und das besitzt sehr wohl eine CharBackColor;)

Ob es aber tatsächlich das hier diskutierte Problem löst?? ... da bin ich überfragt.

Viele Grüße

Thomas

Hallo Thomas,

da lass ich mich gern belehren, kann dabei ja nur selbst lernen.

Das nachfolgende Makro verabschiedet sich mit der Fehlermeldung "BASIC-Laufzeitfehler. Eigenschaft oder Methode nicht gefunden: CharBackColor.":

Sub TEST_CharBackColor
oCalc = ThisComponent
oZelle=oCalc.Sheets(0).getCellByPosition(0,0)
oZelle.string = "Hello world !"
' oZelle.CellBackColor = &H00CC00
oZelle.CharBacKColor = &H00CC00
End Sub

[1] "CellBackColor" nicht kommentiert und "CharBacKColor" kommentiert: Zellhintergrund wird grün eingefärbt.
[2] "CellBackColor" kommentiert und "CharBacKColor" nicht kommentiert: FEHLERMELDUNG (s.o.)

Was mache ich falsch ?

Gruß
Hans-Werner :-))

------ Originalnachricht ------

Hallo Hans Werner,

Verwende mal ne Inspektor - z.B. XRay;)

Die drei Basiseigenschaften der Zelle (.string, .value, .formula) definieren ja nur die Eigenschaft an sich, nicht die Details.

Die Zelle hat auch noch eine .text  Eigenschaft - die dann diverse weitere Möglichkeiten bietet.

Wenn Du also mit oZelle.string = "Hello World!" zuweist, dann kannst Du mit oZelle.text das XTextRange-Objekt erhalten.

Hier kannst Du Dir einen Textcursor erzeugen, den entsprechen bewegen und somit den Textelementen die Eigenschaften zuweisen:

oTC = oZelle.text.createTextCursor()   'Textcursor erzeugen
 oTC.collapsetostart()                             'Am Anfang setzen
 oTC.goright(2, true)                               'zwei Zeichen rechts gehen - expandieren
 oTC.CharColor = RGB(0,0, 255)            'Textfarbe Blau
 oTC.CharBackColor = RGB(220,220, 220)     'Zeichenhintergrund grau

und so weiter:)

Viele Grüße

Thomas

Hallo Thomas,

danke Dir für den Denkanstoß.

Letztendlich war ich nicht wirklich in der Lage die Brücke von WRITER nach CALC zu schlagen bezüglich ".text"-Eigenschaften.

Im Kapitel 14 vom Pitonyak ist das ja alles ganz gut beschrieben mit den ".text"-Eigenschaften.

Einen Zellinhalt wie beispielsweise

Suchen mit https://www.google.de/ macht nicht immer Spaß …

zu bearbeiten im Sinne der Modifikation der Textauszeichnungen der Zeichenkette https://www.google.de/ sollte ja dann möglich sein, indem man die Zeichenkette https://www.google.de/ mit dem TextCursor "markiert" und dann auf diesen Bereich "CharColor", "CharBackColor" u.s.w. anwendet.

Muss ich mal nachdenken, wie das gehen könnte :open_mouth: ...

Gruß
Hans-Werner :-))

------ Originalnachricht ------

Hallo Andreas, Hans-Werner, Günter, Thomas, *,

ich lese erst jetzt die die vielen Mails zu diesem Thema. Einiges ist ja schon geklärt, aber ich möchte eher grundsätzliche Überlegungen ergänzen.
Da ich einige allgemeine Meinungen äußern werde, möchte ich vorausschicken, dass ich in keiner Weise mit der Entwicklung verbunden bin und dies deshalb keine definitiven Rückschlüsse auf tatsächliche Realisierungsmöglichkeiten zulässt.

  * Die Darstellung von Hyperlinks ist ein modulübergreifendes Thema,
    und da LibreOffice wie seine Vorgänger immer die modulübergreifende
    Behandlung - zu Recht - als positives Merkmal herausstellt, ist es
    zunächst einmal logisch, dass diese Hyperlinks in allen Modulen in
    gleicher Form (Blaue Farbe, die anhängig davon, ob man den Hyperlink
    schon einmal angeklickt hatte, etwas variiert; das ist ein Standard,
    der auch im Web verwendet wird. Graue Hinterlegung zur
    Kennzeichnung, dass das kein einfacher Text ist, sondern ein
    Feldbefehl) dargestellt wird.
  * Deshalb verstehe ich für diesen Fall allerdings Writer nicht, weil
    dort bei mir die Hyperlinks nicht grau hinterlegt werden (andere
    Feldbefehle wie die Seitennummer aber wohl). Auf Hyperlinks hat die
    Festlegung der Feldhinterlegung offenbar bei Writer keinen Einfluss.
  * Deshalb könnte die Änderung der Feldhinterlegung teilweise Andreas'
    Wunsch lösen, wobei allerdings die Auswirkung auf Draw und Impress
    nicht untersucht wurden; allerdings nur diesen Aspekt betreffend.
  * Die anderen Wünsche bezüglich der Fomatierung können allerdings
    nicht so einfach gelöst werden. Ich mag mich gar nicht in Details
    vertiefen, aber da wird jedenfalls nach Schrift, Farbe , Größe,
    Schnitt, usw. gefragt werden.
  * Davon abgesehen stellt sich die Frage, ob das für ein Dokument oder
    die Komponente gelten soll.
  * Und dann kommt die grundlegende Frage: Wie oft braucht man das?
    Rechtfertigt das eine allgemeine Änderung am System? Das macht das
    Ganze ja auch irgendwie komplexer und schwieriger, das muss man
    immer abschätzen.

Mein Gefühl sagt mir, dass wenig Aussicht besteht, dass Libo eine fertige Lösung für den Wunsch liefern wird.