• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Hyperlink verandert van naam

Status
Niet open voor verdere reacties.

arafy

Gebruiker
Lid geworden
19 nov 2001
Berichten
814
dag allen,

ik zit hier met een prbleem dat in een heel blad vol hyperlinks deze veranderd zijn van link. ik heb het forum hier al afgezocht en ben deze vraag verschillende keren tegengekomen en ook op het internet. de oplossing blijft echter uit.

nu is het mogelijk om met de code van Wigi de hyperlinks eruit te halen, maar met zoeken en vervangen is het niet zo eenvoudig om alles wat veranderd is, terug goed te zetten. als dit zou lukken, kunnen we met de formule =hyperlink heel snel de hyperlinks herstellen. kent iemand een trucje?

ik voeg een voorbeeldje bij.

steven
 

Bijlagen

Zo Steven?

Code:
Sub HyperlinkVeranderenDoorWigi()
    
    Dim rngToDo As Range, sLink As String
    
    Set rngToDo = Range("B1")
    
    sLink = rngToDo.Hyperlinks(1).Address
    sLink = Replace(sLink, "../", "") '../ vervangen
    sLink = Replace(sLink, "/", Application.PathSeparator) '/ vervangen
    sLink = Replace(sLink, "%20", " ") '%20 vervangen
    sLink = Replace(sLink, "PDL_DOC$", ":") 'PDL_DOC$ vervangen
    sLink = Replace(sLink, "LV'S", "LVS") 'LV'S vervangen
    
    'om te checken:
    Debug.Print vbNewLine & sLink
    Debug.Print Range("B5").Value
    
    rngToDo.Hyperlinks(1).Address = sLink
End Sub

Wigi
 
wigi,

het werkt voor dit bestandje, maar als ik het wil toepassen op een bestand met enkele 100den hyperlinks, werkt het niet meer. ik had al enkele aanpassingen gedaan aan je code:

Code:
  Dim rngToDo As Range, sLink As String
    Dim c As Range
    
    Set rngToDo = Range("F:F")
    
    For Each c In rngToDo
    
    sLink = c.Hyperlinks(1).Address
    sLink = Replace(sLink, "../", "") '../ vervangen
    sLink = Replace(sLink, "/", Application.PathSeparator) '/ vervangen
    sLink = Replace(sLink, "%20", " ") '%20 vervangen
    sLink = Replace(sLink, "PDL_DOC$", ":") 'PDL_DOC$ vervangen
    sLink = Replace(sLink, "LV'S", "LVS") 'LV'S vervangen
    Next c
    
    'om te checken:
    'Debug.Print vbNewLine & sLink
    'Debug.Print Range("B5").Value

ik zoek nog even verder.

steven
 
Doe maar een voorbeeldbestandje als je wil.

En ook aangeven wat er nog niet goed gaat.
 
ik heb me nog maar beperkt tot kolom F, maar ik krijg onmiddellijk de melding: subscript is out of range. meer uitleg in de bijlage.

ik krijg ook geen commentaarveld in kolom F. wel in G (de verkeerde) en in H.

steven
 

Bijlagen

Laatst bewerkt:
Ik geraak er ook niet echt wijs uit, sorry.

Meer dan waarschijnlijk moet je afhankelijk van de kolom wel andere vervangingen doen in de macro.
 
met de volgende functie en wat knip- en plakwerk is het gelukt:

Code:
Function HyperLinkText(pRange As Range) As String

     Dim ST1 As String
     Dim ST2 As String

     If pRange.Hyperlinks.Count = 0 Then
        Exit Function
     End If

     ST1 = pRange.Hyperlinks(1).Address
     ST2 = pRange.Hyperlinks(1).SubAddress

     If ST2 <> "" Then
        ST1 = "[" & ST1 & "]" & ST2
     End If

     HyperLinkText = ST1

End Function

het ontstane pad heb ik dan met de formule =hyperlink als hyperlink gezet.

steven
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan