Seite 1 von 1
Writer Hyperlink auslesen
Verfasst: Do, 30.09.2010 06:37
von clag
Moin Kenner und Könner,
in einem Writer Dokument ist der erste Absatz (Überschrift )mit einem Hyperlink versehen diesen möchte ich auslesen.
(die Suche hier hat praktisch nur Calc bezogene Themen geliefert)
soweit ich bis jetzt herausgefunden habe ist das eine Eigenschaft von text ?
in den beiden, hiermit
Code: Alles auswählen
Enum = oDoc.Text.createEnumeration
TextElement = Enum.nextElement
FullTitle = TextElement.string
msgbox Fulltitle
xray Fulltitle
Titlelink = TextElement.text
xray Titlelink
erzeugten xray Ausgaben kann ich leider nicht erkennen, wo man ansetzen könnte
Kann mir jemand bitte sagen/zeigen wie ich die für einen Text hinterlegte "Sprungziel" URL auslesen ggf ändern kann ?
Danke schonmal fürs lesen
Re: Writer Hyperlink auslesen
Verfasst: Do, 30.09.2010 15:37
von DPunch
Aloha
ergibt eine Aufzählung aller Paragraphen. (
Text: XEnumerationAccess)
Ein Paragraph enthält möglicherweise zwar nichts anderes als einen Hyperlink, aber er kann logischerweise selbst kein Hyperlink sein.
Du brauchst also noch eine Aufzählung aller Elemente in dem Paragraphen. (
Paragraph: XEnumerationAccess)
Diese Elemente kannst Du dann auf ihre Eigenschaften
HyperLinkURL / HyperLinkTarget / HyperLinkName untersuchen (oder diese ändern, wenn Du willst)
Code: Alles auswählen
Sub ShowFirstHyperlinkDetails
oDoc = thiscomponent
enumParagraphs = oDoc.Text.createEnumeration
Do While enumParagraphs.hasMoreElements
thisElement = enumParagraphs.nextElement
If thisElement.SupportsService("com.sun.star.text.Paragraph") Then
enumTextPortions = thisElement.createEnumeration
Do While enumTextPortions.hasMoreElements
thisTextPortion = enumTextPortions.nextElement
bIsHyperlink = Len(thisTextPortion.HyperLinkName) > 0 _
OR Len(thisTextPortion.HyperLinkTarget) > 0 _
OR Len(thisTextPortion.HyperLinkURL) > 0
If bIsHyperlink Then
MsgBox "HyperLinkName: " & thisTextPortion.HyperLinkName & Chr(13)& _
"HyperLinkTarget: " & thisTextPortion.HyperLinkTarget & Chr(13)& _
"HyperLinkURL: " & thisTextPortion.HyperLinkURL
Exit Sub
End If
Loop
End If
Loop
MsgBox "Kein Hyperlink gefunden"
End Sub
Re: Writer Hyperlink auslesen
Verfasst: Do, 30.09.2010 15:42
von clag
Hallo Leutz
eure Geduld im Schweigen hat sich gelohnt ich hab es selbst gefunden
Code: Alles auswählen
doc=thiscomponent
oText = Doc.getText()
oCursor = oText.createTextCursor()
oCursor.gotoStartofParagraph (false)
oCursor.gotoEndofParagraph (true)
oText = Doc.getText()
oCursor = oText.createTextCursor()
mainlink = oCursor.hyperlinkurl
print mainlink
ist das ok ? zumindest wird die web-Adresse "Link" an mainlink übergeben
Edit :
@ DPunch
deine Info ist ja sehr ausführlich, das beantwortet mir bestimmt noch einige meiner offenen Fragen
Die Frage wie finde ich überhaupt die Links ging mir nämlich schon durch den Kopf,
hier wusste ich ja zufällig, das es der/im ersten Absatz ist.
Danke !