• 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 invoegen met emailadres geadresseerde

Status
Niet open voor verdere reacties.

mulderwme

Gebruiker
Lid geworden
12 dec 2014
Berichten
210
Hallo allen,

Ik wil een mailing versturen met een linkje om af te melden.

Bijv. de tekst : "Klik hier om u af te melden".

Via Excel open ik een outlooksjabloon. Daar staat een standaard hyperlink om je af melden.
Gemaakt met rechtermuisknop, hyperlink invoegen.

Als mensen zich afmelden doen ze dat ook wel van hun mobiel of wat dan ook en dan weet ik niet om welk emailadres het gaat.

Dus ik wil graag bij verzenden een emailadres aan de hyperlink toevoegen.
Als je naar het venster "hyperlink invoegen" kijkt, zou dat in het veldje Onderwerp moeten komen.

In Word heb ik een macrootje opgenomen, maar daar is het emailadres van de ontvanger harde tekst.

Code:
Sub Macro3()

    ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _
        Address:="mailto:email@adres.nl?subject=Afmelden%20van%20mailinglist%20-%20email@klant.nl", _
        SubAddress:="", _
        ScreenTip:="", _
        TextToDisplay:="hier te klikken"
        
End Sub

Maar dit werkt niet zo.
Kan dit flexibel worden gemaakt?

Alvast bedankt.

Groet,
Willem
 
Geen idee hoe je de mail verstuurt.

Al je dat met Vba doet en dan bv.

Code:
Option Explicit
Dim Wapp As New Word.Application
Dim WA As Word.Document
Sub hsv()
With CreateObject("Outlook.Application").createitem(0)
        .To = "iemand@gmail.com"
        sjabloon .To
        .Subject = "zomaar een mailtje"
        .Body = "wat tekst"
     .Display
  End With
End Sub


Function sjabloon(naam)
If WA Is Nothing Then Set WA = Wapp.Documents.Open("c:\users\mulderwmw\hyperlink.docx") 'aanpassen
  WA.Hyperlinks.Add Anchor:=WA.Paragraphs.First.Range, _
        Address:="mailto:email@adres.nl?subject=Afmelden%20van%20mailinglist%20-%20" & naam, _
        SubAddress:="", _
        ScreenTip:="", _
        TextToDisplay:="hier te klikken"
End Function

De Hyperlink in je Word-document wordt nu aangepast in de tekst naar wie je het verzendt.
De referentie naar Word via Menu Extra\Verwijzingen of Menu Tools\Reference is een vereiste.
 
Dank je wel, HSV.

Misschien heb ik idd wat te weinig info gegeven.

Het proces is als volgt.
- Ik heb een lijst met emailadressen in Excel.
- Daar roep ik een .oft aan.
- Vervolgens wordt die verzonden.

In de .oft zit nu 1 variable, Geachte, die ik laat vervangen door Naam.

Het voorbeeld van een .oft is als bestandje bijgevoegd. (Wel gezipt, want blijkbaar mag je geen .oft uploaden.) Daarin staat ook het plaatje van hoe ik het venster Hyperlink invoegen heb gemaakt.

Onderaan de mail staat dan het linkje om af te melden. Ik wil dus in de hyperlink het emailadres toevoegen. Als ik dan een afmelding ontvang, zie ik direct om welk emailadres het gaat.

Hieronder staat de code die ik in Excel gebruik om de mailing te verzenden. Ik heb 2 velden: Naam en email.

Ik laat Geachte vervangen door Naam.
Ik zat er aan te denken om dat ook zo te doen met Afmelden, maar dat werkt niet.

Code:
Sub Mailing_Verzenden()

    Geachte = Cells(ActiveCell.Row, 1)
    Email = Cells(ActiveCell.Row, 2)
    
    Map = "C:\Users\Gebruiker\AppData\Roaming\Microsoft\Templates\"
    Template = "Mailing.oft"
        
        Dim OutMail As Outlook.MailItem
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(olMailItem)
        Set OutMail = OutApp.CreateItemFromTemplate(Map & Template)
        
            With OutMail
                .SendUsingAccount = Session.Accounts.Item(1)
                .To = Email
                
                Set olInsp = .GetInspector
                Set wdDoc = olInsp.WordEditor
                Set oRng = wdDoc.Range
                With oRng.Find
                    Do While .Execute(FindText:="[Geachte]")
                        oRng.Text = Geachte
                        Exit Do
                    Loop
                End With
                
'                .Send
                .Display
            End With
    
        Set OutMail = Nothing
        Set OutApp = Nothing

End Sub

Groet,
Willem
 

Bijlagen

  • Mailing.zip
    53,1 KB · Weergaven: 29
Net boven 'Send plaatsen
Code:
 WdDoc.Hyperlinks(1).Address = "mailto:email@adres.nl?subject=Afmelden%20van%20mailinglist%20-%20" & Email
 
Bedankt HSV, dit is wat ik bedoelde. Het werkt perfect!

Thanks.
Willem
 
Goedemorgen HSV en anderen,

Gisteren meldde ik dat het goed werkt. Maar ik doe nu een vreemde ontdekking.

Het werkt goed als ik .Display doe en daarna zelf op de verzendknop klik.
Als ik .Send doe, wordt het emailadres niet toegevoegd aan de hyperlink.

Is daar een oplossing voor?

Groet,
Willem
 
Misschien gaat het te snel.
Zoek eens op application.wait.
Voeg daarin 1 of 2 seconden pauze aan toe.
Zet dat net boven .Send.
 
Dat had ik al gedaan. Dat was niet de oplossing.

Is er ook zoiets als een send key die dan de verzendknop indrukt?
 
Ik denk dat ik eruit ben.

Als Sendkey heb ik dit opgenomen: Application.SendKeys "%z", True

Eerst had ik Application.SendKeys "%s", True

Maar blijkbaar is de applicatie taalafhankelijk. Dus voor de NL-versie is het %s
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan