Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1020to1024
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Backslash bei Hyperlinks einfügen ?

Backslash bei Hyperlinks einfügen ?
06.11.2008 13:36:00
Selma
Hallo Leute,
wie kann bei Hyperlinks die in der Adresse am Ende das Punkt und Dateieindung nicht haben, ein Backslash einfügen, falls dieser nicht vorhanden ist?
Hyperlink-Beispiel vorher:
G:\prj\2008\OUT\mdlapps\intelnt\2008-10-06
C:\export\2008-18-06\Internes Auftrags-LV.pdf (hier kein Backslah, da Hyperlinkadresse am Ende ein Punkt und Dateiendung hat)
Hyperlink-Beispiel nachher:
G:\prj\2008\OUT\mdlapps\intelnt\2008-10-06\ (hier Backslash, da der
C:\export\2008-18-06\Internes Auftrags-LV.pdf
Besten Dank im Voraus !
Liebe Grüße
Selma

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 13:51:00
Christian
also wenn man mal davon ausgeht das in der variable "hlink" der hyperlink steht:
if instr(1,right(hlink,4),".") = 0 then hlink = hlink & "\"
Dabei wird abgefragt ob am rechten ende des Strings "hlink" ein punkt vorkommt. Wenn KEIN Punkt vorkommt, dann wird ein backslash am ende des strings hinzugefügt.
Hab das grade nicht getestet, aber so ungefähr sollte das klappen!
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 14:00:00
Selma
Hallo Christian,
ich habe es so probiert. Leider ohne Erfolg ;)

Sub tt()
If InStr(1, Right(hLink, 4), ".") = 0 Then hLink = hLink & "\"
End Sub


LG,
Selma

Anzeige
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 14:03:51
Christian
Ja du musst schon dafür sorgen das der hyperlink den du ändern möchtest in die variable "hlink" landet.
Ich hab mich mit hyperlinks noch nicht so beschäftigt, aber ich schätze mal das sie genauso behandelt werden wie strings... ich schau mir das gleich nochmal genauer an. Aber wie gesagt, im endeffekt sollte das so klappen!
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 14:17:00
Christian
Also, hyperlinks die in einer Excel zelle stehen, bestehen grob gesagt aus 2 "dingen":
Einmal der Name, der nichts mit dem Hyperlink-Ziel zu tun haben muss.
Und andererseits die Addresse des Hyperlinks.
wenn z.B. in Zelle C8 des aktuellen Blattes ein Hyperlink auf einen Ordner zielt dann ändert man die Addresse so:

Sub hlinkaendern
Dim hlink As String
hlink = Range("C8").Hyperlinks.Item(1).Address
If InStr(1, Right(hlink, 4), ".") = 0 Then hlink = hlink & "\"
Range("C8").Hyperlinks.Item(1).Address = hlink
End Sub


Wenn in der Zelle C8 KEIN Ordner sondern eine Datei als Ziel angegeben ist, dann fügt das makro dort kein backslah ein.
Was man aber NICHT sieht ist, dass er den Namen des Hyperlinks nicht ändert.
d.h. wenn man in der Zelle "C:\Eigene Dateien" stehen hat, wird man nach der änderung KEIN "C:\Eigene Dateien\" vorfinden sondern nach wie vor "C:\Eigene Dateien". Schaut man aber im Kontext des Zelle nach dem Ziel des Hyperlinks sieht man das korrekte ergebnis "C:\Eigene Dateien\".
Wenn man zusätzlich den angezeigten Text des hyperlinks ändern möchte muss man eine zeile hinzufügen und das sieht dann so aus:


Sub hlinkaendern()
Dim hlink As String
hlink = Range("C8").Hyperlinks.Item(1).Address
If InStr(1, Right(hlink, 4), ".") = 0 Then hlink = hlink & "\"
Range("C8").Hyperlinks.Item(1).Address = hlink
Range("C8").Hyperlinks.Item(1).TextToDisplay = hlink
End Sub


Hyperlinks sind ein bischen kompliziert, aber durchschaubar ;-)

Anzeige
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 16:04:00
Selma
Hallo Christian,
super... wie wende ich das Makro auf ganzes Arbeitsblatt an ?
Vielen Dank !
LG,
Selma
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 16:55:00
Christian
Wenn du das ganze aktuelle arbeitsblatt durcharbeiten möchtest, also zelle für zelle:

Sub allesaendern()
Dim hlink As String
Dim c As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each c In ActiveSheet.UsedRange
If c.Hyperlinks.Count > 0 Then
hlink = c.Hyperlinks.Item(1).Address
If InStr(1, Right(hlink, 4), ".") = 0 Then hlink = hlink & "\"
c.Hyperlinks.Item(1).Address = hlink
c.Hyperlinks.Item(1).TextToDisplay = hlink
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


Anzeige
AW: Backslash bei Hyperlinks ?
06.11.2008 17:06:00
Selma
Hallo Christian,
Backslash wurde richtig eingefügt, aber der Zelleninhalt wird dadurch verändert.
Jetzt stehen in Zellen überall die Hyperlink-Adresse als Zelleninhalt.
LG,
Selma
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 17:09:00
Christian
Dann muss man die zeile:
c.Hyperlinks.Item(1).TextToDisplay = hlink
auskommentieren. Hoffe die originaldaten waren gesichert! Hab ja extra die version des makros übernommen die auch die zellinhalte an die hyperlink-ziele anpasst. (Zellinhalt = name des hyperlinks bzw ".TextToDisplay")
AW: Backslash bei Hyperlinks einfügen ?
06.11.2008 17:15:00
Selma
Funktioniert prima. Vielen Dank !
LG,
Selma

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige