Hintergrundfarbe von Links

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

piet67
Beiträge: 6
Registriert: Di, 02.06.2015 07:54

Hintergrundfarbe von Links

Beitrag von piet67 »

Möchte gerade in Calc Version 4.1.2 die Hintergrundfarbe von Hyperlinks entfernen, bisher sind sie immer "grau" hinterlegt.Leider ist mir das bis Dato leider nicht gelungen! :( Egal was man unter "Extras", "Einstellungen", "OpenOffice", "Dartellung", "Feldhinterlegung" vornimmt, die Hintergrundfarbe bleibt erhalten, selbst wenn man das Häkchen heraus nimmt. Es handelt sich um ca. 800 Links die ich in eine Calc Tabelle einfügen möchte. Es wäre eine riesige Arbeit dies über die Funktion "Hyperlink ()" zu verwirklichen. Gibt es hierfür eine Lösung? Oder sogar einen anderen "einfacheren" Weg auf ein Textdokument zu verlinken? Wäre für eine Hilfestellung sehr dankbar. :wink:
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Hintergrundfarbe von Links

Beitrag von Stephan »

Egal was man unter "Extras", "Einstellungen", "OpenOffice", "Dartellung", "Feldhinterlegung" vornimmt, die Hintergrundfarbe bleibt erhalten, selbst wenn man das Häkchen heraus nimmt.
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)


Gruß
Stephan
piet67
Beiträge: 6
Registriert: Di, 02.06.2015 07:54

Re: Hintergrundfarbe von Links

Beitrag von piet67 »

Hallo Stephan,

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.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Hintergrundfarbe von Links

Beitrag von Stephan »

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.
Dann wirst Du wohl alle Links in die Funtion HYPERLINK() konvertieren müssen.

Markiere dazu alle Zellen die Links enthalten und starte das Makro "Sub hyperlinks_umwandeln()":

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

Gruß
Stephan
Antworten