Seite 1 von 1
Sprungziel aus Hyperlink extrahieren
Verfasst: Sa, 30.08.2014 12:12
von Rakuda
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
Re: Sprungziel aus Hyperlink extrahieren
Verfasst: Sa, 30.08.2014 12:37
von Karolus
Hallo
Steht in A1 eine
=HYPERLINK("...";"...") -formel oder ein Link per
→Einfügen→Hyperlink
Im ersten Fall wäre es relativ einfach:
Re: Sprungziel aus Hyperlink extrahieren
Verfasst: Sa, 30.08.2014 16:06
von Rakuda
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
Re: Sprungziel aus Hyperlink extrahieren
Verfasst: Sa, 30.08.2014 16:39
von Stephan
dafür wirst Du wohl eine benutzerdefinierte Funktion nutzen müssen, in Anlehnung an
https://www.uni-due.de/~abi070/ooo.html beispielsweise:
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
aufgerufen wird diese dann in Zelle B1 mittels:
=hl("A1")
Gruß
Stephan
Re: Sprungziel aus Hyperlink extrahieren
Verfasst: Sa, 30.08.2014 17:58
von Rakuda
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
Re: Sprungziel aus Hyperlink extrahieren
Verfasst: Sa, 30.08.2014 18:15
von Stephan
Mit Anführungszeichen funktioniert's prima !
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.
Man könnte höchstens beispielsweise so aufrufen:
=hl(ZELLE("ADRESSE"; A1))
Gruß
Stephan
Re: Sprungziel aus Hyperlink extrahieren
Verfasst: Sa, 30.08.2014 19:05
von Rakuda
Stephan hat geschrieben:
=hl(ZELLE("ADRESSE"; A1))
... Danke für den Hinweis, damit kann man auch die Formel in andere Zellen übertragen - praktisch !
Gruss,
Rakuda