• 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 in mail koppelen aan bestand ipv map

Status
Niet open voor verdere reacties.

HBot

Gebruiker
Lid geworden
12 dec 2006
Berichten
325
Beste Forum,

in bijgaande bestand zit een hyperlink code waarmee ik (nu) een link koppel aan de map waarin het bestand staat,
Nu wil ik eigenlijk dat de koppeling gelijk aan het bewuste bestand is gekoppeld, alleen de naam van het bestand wijzigt regelmatig in de naam van Cel B1, daardoor kunnen er meerdere bestanden in de map staan.
het lukt mij niet om onderstaande stukje code op de juiste manier erin te zetten
Code:
& Sheets("Melding").Range("B1")

ik hoop dat het lukt, ik ga deze code veel gebruiken.

Code:
Sub MailURL()
   Dim OutApp As Object
    Dim OutMail As Object
   Dim strbody As String
   
   lnk = "S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling"
   
   Set OutApp = CreateObject("Outlook.Application")
  Set OutMail = OutApp.CreateItem(0)
 strbody = "staat in: <a href=""S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling\"">here</a> to ..."

    On Error Resume Next
    With OutMail
       .To = "botje@mail.nl"
       .Subject = "Testing URL"
     .HTMLBody = strbody
    .display
    End With
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
 

Bijlagen

  • invulblad4.xlsm
    30,2 KB · Weergaven: 33
Dat kan je mooi in je variabele lnk doen die je nu nergens gebruikt.
 
Edmoor

deze werkt niet

lnk = "S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling" & Sheets("Melding").Range("B1")

probeer ook een stukje code van de hyperlink in de lnk er bij te zetten, krijg ik compileerfout, verwacht instructie-einde
 
@Hbot

"S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling" is een tekststring
Sheets("Melding").Range("B1") is een cel (niet de inhoud, maar een range object - een cel)

En die twee totaal verschillende objecten (een string en een referentie) probeer je in een nieuwe string samen te voegen. Dat kan uiteraard niet.


"S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling" & Sheets("Melding").Range("B1").Tekst

heeft al iets meer kans op slagen, maar ik zou de naam in die cel ook nog wat trimmen voor en achter om zeker geen extra spaties mee te hebben...
 
Laatst bewerkt:
DigiCafee,

Zover snap ik het dat het 2 verschillende zijn,

heb je regel zowel bij de lnk als in de code geprobeerd maar werkt, niet.

ook geprobeerd de cel B1 een naam gegeven "volgnummer"maar krijg deze er ook niet in.

deze snap ik niet?
maar ik zou de naam in die cel ook nog wat trimmen voor en achter om zeker geen extra spaties mee te hebben...
 
Ik had het nergens over een naam van een cel : dat kan overigens niet - een cel kan je geen naam geven, die heeft een rij en een kolomnr, géén naam (-;

Met trimmen bedoel ik het volgende ...

Stel je wil dit bekomen : "S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling\Testbestand.xls"
en je hebt in B1 de tekst "Testbestand.xls " gezet, dus met een extra spatie, dan werkt het niet
of je tikt " Testbestand.xls", dan werkt het ook niet. En dat zijn fouten die voorkomen !

Overigens moet je in de code zelfs dan nog :
"S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling\" & Trim(Sheets("Melding").Range("B1").Text) zetten
 
Dit werkt bij mij
Code:
Sub MailURL()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String

    lnk = "S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling[COLOR="#FF0000"]\[/COLOR]" & Sheets("Melding").Range("B1")[COLOR="#FF0000"].Value[/COLOR]

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    strbody = "staat in: <a href=""[COLOR="#FF0000"]" & lnk & "[/COLOR]"">here</a> to ..."

    On Error Resume Next
    With OutMail
        .To = "botje@mail.nl"
        .Subject = "Testing URL"
        .HTMLBody = strbody
        .display
    End With
    On Error GoTo 0
    
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
 
Laatst bewerkt:
DigiCafee,

uitleg is duidelijk, staan geen spaties in de tekst wlke een combinatie is van getallen+tekst gescheiden door;,

Alphamax,
code aangepast met Dim lnk, verder werkte code, mail wordt gecreëerd met de link, allen opent de link niet (staat wel goed in de pop-up als je er op staat)
Melding;
>"link"kan niet worden gevonden. Controleer of u de juiste locatie of webardres gebruikt.
 
Wat staat er PRECIES in B1 ?
Want " een combinatie is van getallen+tekst gescheiden door;, " doet me de wenkbrauwen fronsen ???
 
zonder de naam van het bedrijf te noemen:D

'\\FS01\bedrijfsnaam\Projecten\OFO\OFO Zwolle 2020+\1 OFO in behandeling\koop;44017' kan niet worden gevonden. Controleer of u de juiste locatie of webardres gebruikt.

het gedeelte tot aan\koop;44017 is de map waar het bestand staat onder de naam koop;44017
 
... onder de naam koop;44017

Meen je dat nu echt ? "koop;44017" kan toch nooit de naam van een bestand zijn ???
Iets als "koop_44017.xlsx" of "koop_44017.doc" of iets anders moet dat toch zijn ... maak anders eens en screenshot vanuit je Explorer van (deel) van die map ...
 
DigiCafee,

Dit zijn voorbeelden,
alle code moet ik aanpassen naar het originele bestand.

korte uitleg het gaat over een klachten document welke naar verschillende afdelingen wordt gestuurd,
het is makkelijk als men vanuit de mail gelijk naar het bestand kan gaan, dit voorkomt zoeken in de mappen structuur.
vandaar uit loopt het een aantal mappen door zodat men de status van het document kan volgen tot het afgehandeld is.
ik weet dat dit stukje een uitdaging is (maakt het ook leuk) als het lukt,
anders blijft het hangen bij de link naar de map.

Knipsel.PNG

hopelijk is het nu iets duidelijker,
 
Je wilt dus direct dat Excel bestand openen?
Dan werkt dit bij mij prima:
Code:
Map = "S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling\"
Bst = Sheets("Melding").Range("B1").Value & ".xlsm"
Lnk = Map & Bst
strbody = "staat in: <A HREF=""file://" & Lnk & """>here </A>"
De drie variabelen zijn in principe niet nodig maar heb ik gebruikt voor de leesbaarheid.
Uiteraard is het ook belangrijk dat het pad en het bestand qua beveiliging en bereikbaarheid volledig toegankelijk zijn.
 
Laatst bewerkt:
Edmoor,

de code werkt wel, maar de link niet,
code zo aangepast;

Code:
Sub MailURL1()


    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim bst, lnk, naam As String
    Dim map
   

    map = "S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling\"
    bst = Sheets("Melding").Range("B1").Value & ".xlsm"
    lnk = map & bst

Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
strbody = "staat in: <A HREF=""file://" & lnk & """>here </A>"

On Error Resume Next
    With OutMail
        .To = "botje@mail.nl"
        .Subject = "Testing URL"
        .HTMLBody = strbody
        .display
    End With
    On Error GoTo 0
    
    Set OutMail = Nothing
    Set OutApp = Nothing


End Sub

Deze melding krijg je als je de link aanklikt.
PRNT HYP.PNG
 
Doet het hier prima.
Je hebt in de map S:\Projecten\OFO\OFO Zwolle 2020+\1 OFO in Behandeling\ een document staan met de naam 44019.xlsm?
 
edmoor,

bedankt, had 1 nummertje vergeten te wijziging, stom hé

Ben hier heel blij mee, :thumb: ga het in het originele bestaand zetten,

weer een stap dichter bij het eindresultaat.

ga deze vraag sluiten.
 
Sh*t happens ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan