Herinnering toevoegen in email vanuit VB

Status
Niet open voor verdere reacties.

john64

Gebruiker
Lid geworden
12 jun 2011
Berichten
268
Vanuit een access-applicatie wordt een email gegenereerd voor iemand die iets moet uitvoeren.
In outlook kun je een herinnering toe voegen ("opvolgen") aan een mailtje, zodat de ontvanger op een bepaalde datum/tijd een "wake-up call" krijgt.
Is het mogelijk om met VB een dergelijke herinnering toe te voegen aan een mail die in access wordt gemaakt ?

alvast bedankt

mvg
John
 
Nee, dat kun je zo niet met elkaar vergelijken. Zowiezo werkt elke 'wake-up call' alleen maar als Access actief is, wat bij Outlook eerder het geval zal zijn dan bij Access, al is dat natuurlijk nog wel te doen. Verder moet je dan een formulier hebben dat continue de verstreken tijd vergelijkt met de huidige tijd, en bij een match dan een nieuwe mail stuurt. Zo'n continue werkend formulier neemt nogal wat resources weg van je db, die er niet bepaald sneller van gaat worden. Dus ook op basis daarvan zou ik het niet aanraden.
 
Goedemorgen Michel,

Dank voor snelle reactie.
Hier op mijn werk staat outlook eigenlijk altijd standaard aan.
Ik ben bezig met een database (een zgn. verbeterregister) waarin medewerkers punten kunnen melden die voor verbetering vatbaar zijn. Iemand moet zo'n melding dan beoordelen en als het een valide punt is wordt er een actiepunthouder (APH) gekoppeld aan dit verbeterpunt. Om deze APH op de hoogte te brengen dat hij iets moet doen wordt vanuit de access applicatie een mailtje gestuurd met de bijzonderheden. Bij een actiepunt wordt dan tevens een deadline genoemd wanneer de actie uitgevoerd moet zijn.
Wat ik wil is dat er vanuit outlook een herinnering meegestuurd wordt met de mail (optie in outlook zelf) waarin de ontvanger een herinneringsmail krijgt op een tijdstip dat door de verzender is meegegeven. Access wordt hier dus niet verder door belast want outlook van de ontvanger houdt dit in de gaten; dit zit namelijk ingebakken in de verstuurde mail.

Je kunt dus bij het versturen van een mailtje bij de optie "Opvolgen" een herinnering toevoegen (markeren voor geaddresseerden). Deze herinnering wil ik vanuit mijn access applicatie in VB meesturen; ik wil een datum invullen 2 dagen voordat de deadline verstreken is.

mvg
John
 
Dat is inderdaad een iets andere situatie. Welke code gebruik je nu om de mail te genereren?
 
Hieronder de "uitgeklede" code

Code:
Function VerstuurEmailAPH(lngConstateringID As Long)
Dim objOutlook As Outlook.Application
Dim objMail As Object
Dim objAccount As Outlook.Account
Dim txtBody As String, txtBeoordeling As Variant

    On Error GoTo VerstuurEmail_Error
    
    'Maak verwijzing naar de toepassing Outlook die GEOPEND is.
    'is Outlook niet geopend, dan gaat het fout en wordt de code vervolgt
    'bij het label 'VerstuurEmail_Error'

    Set objOutlook = GetObject(, "Outlook.Application")

    Set objMail = objOutlook.CreateItem(olMailItem)

    'Maakt e-mailbericht aan. MailItem kan ook worden vervangen door 0 (code voor e-mailitem)

    '////////////////////////////////////////////////////

    Set objAccount = Nothing
    
    'Stuur mail van beoordelaar aan APH, cc melder
    With objMail
        
        .To = actie@test.nl
        .CC = melder@test.nl
        .Subject = "Constatering uit verbeterregister - in behandeling"
        
        txtBody = "Aan: Naam melder" vbCrLf & vbCrLf
        txtBody = txtBody & "blabla" & vbCrLf & vbCrLf
        
        .Body = txtBody
        .NoAging = True
        .Display 'Laat e-mail zien voordat hij wordt verzonden
    End With

    
VerstuurEmail_Exit:
    'Vernietig de verwijzing naar het object
    Set objMail = Nothing
    'Set objOutlook = Nothing
    
    'Verlaat de functie
    Exit Function
    
VerstuurEmail_Error:
    Select Case Err.Number
        Case 429
            Set objOutlook = CreateObject("Outlook.Application")
            'de fout zal opgetreden zijn bij 'Set objOutlook = Getobject'
            'nu kan de code op volgende regel verdergaan
            Resume Next
            
        Case Else
            Beep
            MsgBox Err.Description
            Resume VerstuurEmail_Exit
        
    End Select

End Function
 
Je kan wellicht iets met de Reminder collectie doen:
Code:
    With objMail
        .To = "actie@test.nl"
        .CC = "melder@test.nl"
        .Subject = "Constatering uit verbeterregister - in behandeling"
        txtBody = "Aan: Naam melder" & vbCrLf & vbCrLf & "blabla" & vbCrLf & vbCrLf
        .Body = txtBody
        .NoAging = True
[B]        .ReminderSet = True
        .ReminderTime = 60
[/B]        .Display 'Laat e-mail zien voordat hij wordt verzonden
    End With
 
Hier kan ik wel wat mee, maar is het nog net niet.
Wat er door ReminderSet en ReminderTime gebeurt is het zetten van een vinkje en een datum bij Herinnering.
Met het voorstel:
Code:
   With objMail
        ......
        .ReminderSet = True
        .ReminderTime = DLookup( .... ) - 2 ' bepaalde datum uit tabel opzoeken en dan 2 dagen daarvoor herinnering
        ..........
    End With

wordt het vinkje bij Markeren voor geadresseerden nog niet gezet, dus de herinnering zal niet worden gegenereerd (het lukt helaas niet om schermafbeelding te uploaden).

Het lijkt erop dat ik nog iets dieper in het objMail object moet duiken. Hoe kan ik vinkje bij "Markeren voor geadresseerden" aanzetten ?
Ik denk dat ik dit vinkje ook nog moet zetten om de herinnering te laten genereren.
Verder wordt ook automatisch het vinkje gezet bij "Markeren voor mijzelf", maar deze wil ik uitzetten.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan