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

VBA Excel naar Outlook

Status
Niet open voor verdere reacties.

frans kooijman

Gebruiker
Lid geworden
22 apr 2008
Berichten
517
Hi,
Ik zie dat het mogelijk is om een reminder vanuit Excel in Outlook te laten komen.
Ik heb een groot bestand met verjaardagen, zie de bijlage voor het eenvoudige bestand.

Wat ik zoek is een VBA waardoor er een herinnering in Outlook komt zodra een
verjaardagsdatum is aangebroken.

Is zoiets mogelijk?

Frans
 

Bijlagen

  • Verjaardag.xlsx
    8,6 KB · Weergaven: 22
Thanks, maar mijn VBA kennis is niet voldoende om dit tot het gewenste resultaat te maken.

Kun je voor de bijlage een VBA maken?
Vertalen naar mijn eigen bestand lukt me wel (hoop ik..)

Frans
 
Je bent een beetje vaag; het instellen van een herinnering in Outlook houdt op zijn minst in dat je aangeeft hoelang van tevoren je de herinnering moet worden gegeven. Is dat één dag? Een week, een minuut?
 
Dan kun je gewoon alles met de hand erin zetten.
Leuker is je in VBA te verdiepen zodat je het uiteindelijk zelf kunt.
 
Mee eens, ben ook een cursus aan het volgen, maar dit gaat me (vooralsnog) niet lukken.

Met de hand reminders aanmaken is voor mijn fictieve voorbeeld uiteraard goed te doen, maar
voor mijn echte bestand met > 5000 regels niet werkbaar.

Iemand een VBA oplossing voor de bijlage, met Outlook reminder 1 dag eerder dan de Excel datum?

Frans
 
Een voorbeeldje is altijd wel te maken...

Code:
Public Sub CreateOutlookAppt()
Dim olApp As Outlook.Application
Dim olAppt As Outlook.AppointmentItem
Dim oPattern As RecurrencePattern
Dim blnCreated As Boolean
Dim olNs As Outlook.Namespace
Dim CalFolder As Outlook.MAPIFolder
Dim subFolder As Outlook.MAPIFolder
Dim arrCal As String
Dim i As Long
   
    Sheets(1).Select
    On Error GoTo Err_Execute
    On Error Resume Next
    
    Set olApp = Outlook.Application
    If olApp Is Nothing Then
        Set olApp = Outlook.Application
         blnCreated = True
        Err.Clear
    Else
        blnCreated = False
    End If
    On Error GoTo 0
    
    Set olNs = olApp.GetNamespace("MAPI")
    Set CalFolder = olNs.GetDefaultFolder(olFolderCalendar)
    i = 2
    Do Until Trim(Cells(i, 1).Value) = ""
        Set olAppt = CalFolder.Items.Add(olAppointmentItem)
        With olAppt
            .AllDayEvent = True
            .start = Cells(i, 2)
            .End = Cells(i, 2)
            .Subject = "Verjaardag " & Cells(i, 1)
            .Location = ""
            .Body = "Verjaardag van " & Cells(i, 1)
            .BusyStatus = olBusy
            .ReminderMinutesBeforeStart = 60 * 30
            .ReminderSet = True
            Set oPattern = olAppt.GetRecurrencePattern
            With oPattern
                .PatternStartDate = Cells(i, 2)
                .StartTime = TimeSerial(0, 0, 0)
                .PatternEndDate = Cells(i, 2)
                .EndTime = TimeSerial(0, 0, 0)
                .RecurrenceType = olRecursYearly
            End With
            .Save
        End With
        i = i + 1
    Loop
    Set olAppt = Nothing
    Set olApp = Nothing
    MsgBox "Verjaardagen zijn ingelezen!", vbOKOnly
    Exit Sub
    
Err_Execute:
    MsgBox "Niet gelukt om de afspraken naar Outlook te kopiëren... :("
    
End Sub

Maar zoals snb al zei: het is vele malen beter om je eerst te verdiepen in macro's voordat je ingewikkelde projecten begint. Ik weet niet wat voor vak je hebt geleerd, maar ik kan je garanderen dat ik niet in mijn opleiding ben begonnen met het eindexamen (hoogste niveau) en van daaruit terug ben gaan leren naar de eerste klas...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan