

Moderator: Moderatoren
Und eine weiße Hintergrundfarbe stört auch? (Hinweis: die EXPLIZITE Einstellung auf weiße Farbe bewirkt etwas Anderes als das Entfernen des benannten Häkchens)Egal was man unter "Extras", "Einstellungen", "OpenOffice", "Dartellung", "Feldhinterlegung" vornimmt, die Hintergrundfarbe bleibt erhalten, selbst wenn man das Häkchen heraus nimmt.
Dann wirst Du wohl alle Links in die Funtion HYPERLINK() konvertieren müssen.so einfach ist es leider nicht. Die Zellen haben alle eine spezielle Hintergrundfarbe und noch weitere Kriterien, nach denen sie sortiert werden können. Es macht sich ganz und gar nicht gut, wenn nun hinter einem Text mit einem roten Hintergrund zusätzlich noch ein Hintergrund für den Link in Weiß erscheinen würde.
Code: Alles auswählen
Sub hyperlinks_umwandeln()
selektion = ThisComponent.getCurrentSelection()
if selektion.supportsService("com.sun.star.sheet.SheetCellRange") then
zellBereichAddresse = selektion.getRangeAddress()
neu_link(zellBereichAddresse)
Elseif selektion.supportsService("com.sun.star.sheet.SheetCellRanges") then
for i = 0 To selektion.getCount()-1
zellBereichAddresse = selektion.getByIndex(i).getRangeAddress()
neu_link(zellBereichAddresse)
Next i
End If
End Sub
Sub neu_link(akt_range_addr)
On Error Resume Next 'falls Zellen ohne Hyperlink markiert
sc = akt_range_addr.StartColumn
sr = akt_range_addr.StartRow
ec = akt_range_addr.EndColumn
er = akt_range_addr.EndRow
for j = sc to ec
for k = sr to er
akt_zelle = ThisComponent.CurrentController.ActiveSheet.getCellByPosition(j,k)
txt_field = akt_zelle.getText().getTextFields(0).getByIndex(0)
l_url = txt_field.URL
l_txt = txt_field.Representation
If LEN(l_url) > 0 AND LEN(l_txt)> 0 Then
akt_zelle.Formula = "=HYPERLINK(""" & l_url & """;""" & l_txt & """)"
l_url = ""
l_txt = ""
End If
Next k
Next j
End Sub