Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Anders (software)

Outlook 2003 en een Hyperlink samenvoegen

meneer_ed
8 antwoorden
  • Wij hebben voor school een reünie georganiseerd. Nou had ik een leuk systeem gemaakt waar mensen zich via een formulier op een website konden aanmelden voor de reünie.

    Nu heb ik dus een database van 2200 mensen. Zij moeten 10 of 15 euro betalen voor de reünie. We hebben een machtiging geregeld met de bank en zij accepteren een machtiging via internet.

    Iedereen moet dus weer een e-mail krijgen waar ze op een link klikken en dan hun gegevens ingevuld krijgen en dan accepteren dat ze 10 of 15 euro voor de reünie betalen.

    Nu heb ik het volgende gedaan.

    www.onzesite.nl/machtigingsformulier?voornaam=jan&achternaam=devries

    (de link is in werkelijkheid langer omdat er meer gegevens nodig zijn)

    Doormiddel van deze link dacht ik dus heel makkelijk iedereen automatisch een pagina in te laten vullen.

    Het probleem is dat het me niet lukt om in outlook 2003 een hyperlink samen te voegen vanuit een database.

    [u:b3957844b0][b:b3957844b0]VRAAG IN HET KORT:[/b:b3957844b0][/u:b3957844b0]

    Weten jullie een manier om vanuit een database 2200 mailtjes te versturen waarmee iedereen zijn persoonlijk hyperlink krijgt ?

    De optie Afdruksamenvoegen in outlook werkt niet echt. Ik kan dan wel iedereen een juiste link sturen maar de target klopt dan niet.
  • VBA is je vriend :wink:
    Onderstaande code gaat uit van een Access database db1, met een tabel Table1 met de velden voornaam, achternaam en email.
    [code:1:b10a190316]
    Sub VerzendMailing()

    Dim obj As Outlook.Application
    Dim itm As MailItem
    Dim adoCN As ADODB.Connection
    Dim adoRS As ADODB.Recordset

    Set obj = ThisOutlookSession.Application
    Set adoCN = New ADODB.Connection

    With adoCN
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data source=P:\My Documents\db1.mdb"
    .Open
    End With

    Set adoRS = adoCN.Execute("SELECT * FROM Table1")

    While Not adoRS.EOF
    Set itm = obj.CreateItem(olMailItem)
    itm.To = adoRS("email")
    itm.Body = "Link naar onze site: http://www.onzesite.nl/machtigingsformulier/voornaam=" & _
    adoRS("voornaam") & "&achternaam=" & Replace(adoRS("achternaam"), " ", "")
    itm.Subject = "Test bericht"
    itm.Close olSave
    adoRS.MoveNext
    Wend

    End Sub
    [/code:1:b10a190316]
    Verdere instellingen:
    In de VBA editor van Outlook (te bereiken via ALT-F11), in het menu Tools -> References moet je een referentie maken naar de ActiveX Data Objects library (Microsoft ActiveX Data Objects versie x), gewoon aanvinken.
    Bovenstaande code kopieer je in de module ThisOutlookSession (linksboven, onder Project1 -> Microsoft Outlook Objects)
    Het is maar een voorbeeld, maar met wat moeite moet je er wel uitkomen. Vraag anders maar raak :wink:
  • He bedankt voor het scrippie … Dat bespaart mij een hoop zoek tijd … Er is alleen 1 probleem … Welke referentie heb je precies gebruikt ? Je hebt daar verschillende versies van … Geen van allen werkt … Ik heb Microsoft Outlook 11 gebruikt maar dan zeurtie over iets met ongeldig object.
  • [quote:0202446924="G_ij_s"]He bedankt voor het scrippie … Dat bespaart mij een hoop zoek tijd … Er is alleen 1 probleem … Welke referentie heb je precies gebruikt ? Je hebt daar verschillende versies van … Geen van allen werkt … Ik heb Microsoft Outlook 11 gebruikt maar dan zeurtie over iets met ongeldig object.[/quote:0202446924]
    Graag gedaan.
    Je moet dus een referentie maken naar "Microsoft ActiveX Data Objects 2.x Library". Die vind je als je in het lijstje dat je ziet naar beneden scrollt.
    Als je het script alleen op je eigen machine gaat gebruiken, kun je gewoon de hoogste versie nemen. Ik denk dat dat versie 2.8 is.
  • Hmm nee werkt dus niet.

    "Een door de gebruiker gedefineerd gegevenstype is niet gedefineerd."

    Dat zegt hij bij: Dim obj As Outlook.Application

    Hij kent Outlook.Application niet. Wanneer ik de referentie "Microsoft Outlook 11.0 Object Library" toevoeg dan zeg hij Object vereist met "Set obj = ThisOutlookSession.Application"

    Ik denk dat je met ThisOutlookSession -> ThisDocument bedoelt. Maar dan komen de types niet overeen (Ik heb outlook 2003 en die is dus blijkbaar net iets anders)
  • Laat maar ik heb de code iets aangepast … Set obj = CreateObject("Outlook.Application")

    Maar moet het nou e-mails gaan maken ? Want er gebeurt niet veel. Hij loopt het script probleemloos door … De waardes kloppen maar verder doet hij niet veel…


    edit : Hahaha ik zie dat hij concepten aanmaakt :) Zie ik te laat …. Heb nou 20000 concepten :P
  • Darn! Ik had het script met Outlook XP gemaakt :o
    Hebben ze het weer eens veranderd…

    Maar ik was ook niet helemaal duidelijk geweest: je moet de referentie naar Outlook 11, [b:8293f07d0b]plus[/b:8293f07d0b] de referentie naar de ActiveX Data Objects hebben.

    En ik was inderdaad vergeten de code zodanig aan te passen dat de mails daadwerkelijk verzonden worden. Had bij het maken geen zin om een groot aantal mails van mezelf te ontvangen 8)
  • Hmm nee ze hebben het niet veranderd … Ik had eerst een nieuwe e-mailbericht gemaakt en dan pas de code opgevraagd … Als je het meteen doet in Outlook 2003 dan heb je wel een ThisOutlookSession.

    Maar goed Createobject werkt altijd :)

    Ieder geval bedankt :) .. Ik heb er nog een regel bij gezet om te verzenden … Ik kan nu lekker gaan spammen :D

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.