Hallo zusammen,
ich versuche aus einem Hyperlink das Sprungziel zu extrahieren.
Ich habe in Zelle A1 einen Hyperlink, nun möchte ich in Zelle B1 die URL des Hyperlinks als Text darstellen.
Ich suche eine Funktion ähnlich der Funktion ZELLE, doch diese stellt leider nicht den notwendigen "InfoTyp" bereit.
Danke schon im Voraus für Deine Hilfe !
Gruss,
Rakuda
Sprungziel aus Hyperlink extrahieren
Moderator: Moderatoren
Re: Sprungziel aus Hyperlink extrahieren
Hallo
Steht in A1 eine =HYPERLINK("...";"...") -formel oder ein Link per →Einfügen→Hyperlink
Im ersten Fall wäre es relativ einfach:
Steht in A1 eine =HYPERLINK("...";"...") -formel oder ein Link per →Einfügen→Hyperlink
Im ersten Fall wäre es relativ einfach:
Code: Alles auswählen
=TEIL(FORMEL(A1);13;FINDEN(""";""";FORMEL(A1))-13)
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Sprungziel aus Hyperlink extrahieren
vielen Dank für die ersten Antworten.
Ich habe die hyperlinks mit copy-paste importiert. Nun sehe ich in der Zelle nur den Anzeigetext, und wenn ich mit der Maus drübergehe sehe ich die URL "http://www. ...". Wenn ich über eine Formel einen Bezug zur Zelle herstelle, enthält dieser immer nur den Anzeigetext. d.h. =TEIL(FORMEL(A1);13;FINDEN(""";""";FORMEL(A1))-13) oder FORMEL(A1) etc. liefert ein "#NV".
Gruss,
Rakuda
Ich habe die hyperlinks mit copy-paste importiert. Nun sehe ich in der Zelle nur den Anzeigetext, und wenn ich mit der Maus drübergehe sehe ich die URL "http://www. ...". Wenn ich über eine Formel einen Bezug zur Zelle herstelle, enthält dieser immer nur den Anzeigetext. d.h. =TEIL(FORMEL(A1);13;FINDEN(""";""";FORMEL(A1))-13) oder FORMEL(A1) etc. liefert ein "#NV".

Gruss,
Rakuda
Re: Sprungziel aus Hyperlink extrahieren
dafür wirst Du wohl eine benutzerdefinierte Funktion nutzen müssen, in Anlehnung an https://www.uni-due.de/~abi070/ooo.html beispielsweise:
aufgerufen wird diese dann in Zelle B1 mittels:
=hl("A1")
Gruß
Stephan
Code: Alles auswählen
Function hl(zn As String)
Dim oCell, oText, oParEnum, oParElement
Dim oEnum, oElement
oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(zn)
oParEnum = oCell.getText().createEnumeration()
Do While oParEnum.hasMoreElements()
oParElement = oParEnum.nextElement()
oEnum = oParElement.createEnumeration()
Do While oEnum.hasMoreElements()
oElement = oEnum.nextElement()
If oElement.TextPortionType = "TextField" Then
If oElement.TextField.supportsService("com.sun.star.text.TextField.URL") Then
hl = oElement.TextField.URL
End If
End If
Loop
Loop
End Function
=hl("A1")
Gruß
Stephan
Re: Sprungziel aus Hyperlink extrahieren
Hallo Stefan,
vielen Dank für die grossartige Hilfe, ohne die ich wirklich aufgeschmissen wäre !
PS
zuerst hatte ich einen Runtime Fehler bekommen - da dachte ich schon oh weh ! - nach genauem Studium deiner mail fiel mir dann auf, dass ich die Anführungszeichen vergessen hatte ! =hl("A1")
Mit Anführungszeichen funktioniert's prima !
Also nochmals vielen Dank !!
Gruss,
Rakuda
vielen Dank für die grossartige Hilfe, ohne die ich wirklich aufgeschmissen wäre !
PS
zuerst hatte ich einen Runtime Fehler bekommen - da dachte ich schon oh weh ! - nach genauem Studium deiner mail fiel mir dann auf, dass ich die Anführungszeichen vergessen hatte ! =hl("A1")

Mit Anführungszeichen funktioniert's prima !

Also nochmals vielen Dank !!
Gruss,
Rakuda
Re: Sprungziel aus Hyperlink extrahieren
Die Anführungszeichen sind keine Nachläsigkeit von mir sondern eine technische Notwendigkeit weil OO nicht das Zellobjekt als Parameter akzeptiert, was bei der konkreten FRagestellung heißt Du kämst nur an den sichtbaren Text des Links.Mit Anführungszeichen funktioniert's prima !
Man könnte höchstens beispielsweise so aufrufen:
=hl(ZELLE("ADRESSE"; A1))
Gruß
Stephan
Re: Sprungziel aus Hyperlink extrahieren
... Danke für den Hinweis, damit kann man auch die Formel in andere Zellen übertragen - praktisch !Stephan hat geschrieben: =hl(ZELLE("ADRESSE"; A1))
Gruss,
Rakuda