• 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.

files verwezen door hyperlinks

Status
Niet open voor verdere reacties.
Hm, ik denk dat we het stap voor stap moeten aanpakken.

Ik heb een kleine toevoeging gemaakt aan de code zodat je in een messagebox de verwijzing laat zien die gebruikt wordt.
Het lijkt mij bovendien handig om in een cel een hyperlink te maken met uitsluitend het pad (dus zonder bestand).
Zo kan je het pad vergelijken met de gevonden verwijzing.

Met vriendelijke groet,

Roncancio

Hey

Ik denk ook dat het wel slim is om het stap voor stap aan te pakken :)
  • je hebt 1 cel geselecteerd
  • dan kijk je of er een hyperlink in staat zo niet dan stopt hij anders verder
  • de link_location uit de cel halen
  • de link_location ombouwen zodat je de folder directory hebt
  • dan moet er een venster worden geopend
  • dan moet de pad goed worden gezet
  • en is de code klaar

wat we aan code hebben
Code:
Sub HyperlinkPad()
On Error Resume Next
If InStr(ActiveCell.Formula, "HYPERLINK") > 0 Then
    ChDrive Mid(ActiveCell.Formula, 13, InStrRev(ActiveCell.Formula, "\") - 13)
    ChDir Mid(ActiveCell.Formula, 13, InStrRev(ActiveCell.Formula, "\") - 13)
    GOF = Application.GetOpenFilename(" (*.*), *.*")
End If
End Sub

Gr Tom
 
Hey ik heb zelf nog een mooi stukje code gevonden wat zeker te gebruiken valt :cool:

Code:
Sub OpenFileOrFolderOrWebsite()
     'Shows how to open files and / or folders and / or websites / or create emails using the FollowHyperlink method
    Dim strXLSFile As String, strPDFFile As String, strFolder As String, strWebsite As String
    Dim strEmail As String, strSubject As String, strEmailHyperlink As String
    On Error Resume Next
      currentclInSelection.SpecialCells (xlCellTypeFormulas)
          If InStr(cl.Formula, "HYPERLINK") > 0 Then
              strFolder = [COLOR="Red"]"C:\Documents and Settings"[/COLOR]                
                  ActiveWorkbook.FollowHyperlink Address:=strFolder, NewWindow:=True
          End If
End Sub

nu het rode gedeelte nog aanpassen zodat hij de link_location pakt op een manier:confused:
en dan heb ik wat ik wil gaan gebruiken ^^

Gr Tom
 
Hey mensen

ik zal mijn vraag waar ik nu nog mee zit is duidelijk uitleggen ofja ik probeer het :p

deze macro wil ik graag werkend hebben
Code:
Sub OpenFileOrFolderOrWebsite()
     'Shows how to open files and / or folders and / or websites / or create emails using the FollowHyperlink method
    Dim strXLSFile As String, strPDFFile As String, strFolder As String, strWebsite As String
    Dim strEmail As String, strSubject As String, strEmailHyperlink As String
    On Error Resume Next
      currentclInSelection.SpecialCells (xlCellTypeFormulas)
          If InStr(cl.Formula, "HYPERLINK") > 0 Then
              strFolder = [COLOR="Red"]"C:\Documents and Settings"[/COLOR]                
                  ActiveWorkbook.FollowHyperlink Address:=strFolder, NewWindow:=True
          End If
End Sub

Het rode gedeelte moet nog aangepast worden
hij moet de link location uit de active cel gaan halen...
ik zelf heb daar geen idee hoe ik dat moet aan pakken
je hebt dus hyperlinks op de volgende manier
Code:
=HYPERLINK("C:\my documents\my pictures\tom.jpg")
=HYPERLINK("C:\my documents\handleidingen\MANUAL-PL.pdf","klik it")
sommige hebben een "friendly name" en andere niet en het zijn verschillende type bestanden zoals .jpg \ .doc \ .pdf

zelf heb ik matige kennis van VBA macro's dus ik kom er niet uit
ik ken niet alle functies etc
is er een functie die de link_location target
of de folder directory waar het bestand in staat?
iemand die weet hoe je dat zou kunnen maken ?

Gr Tom
 
Hey mensen

De oplossing op worksheet

ik had daar ook deze vraag gesteld en is hij opgelost :)

dus hier is de macro die het oplost :thumb:
alle credits naar Markboots

Code:
Sub bestandlocatie()
Formule = ActiveCell.Formula
Mid_van = InStr(1, Formule, "(", vbTextCompare) + 2
Mid_tot = InStrRev(Formule, "\", -1, vbTextCompare) + 1
Mid_len = Mid_tot - Mid_van 
locatie = Mid(Formule, Mid_van, Mid_len) 
ActiveWorkbook.FollowHyperlink Address:=locatie, NewWindow:=True 
End Sub

dus deze vraag is opgelost :D

Gr Tom
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan