Hallo allemaal,
Voor een paar mensen moet ik afspraken en taken in hun agenda zetten.
In Excel heb ik een lijstje van naam, datum, tijd, locatie en emailadressen.
Ik wil die afspraken en taken niet in mijn Outlook zien. Het is niet voor mij, maar voor hen.
Het moet dus geen vergaderverzoek of gedelegeerde taak worden.
We zitten niet in 1 domein. Het gaat om allemaal stand alone versies van Outlook 2010, 2013 of 2016.
Nu heb ik een keer code gekregen waarmee dat zou moeten lukken. Maar... mij lukt het niet.
'Afspraak in agenda van een ander zetten
De Case lijkt me belangrijk, maar ik snap niet wat daar de bedoeling precies van is.
De andere stukjes met blokhaken laat ik vullen vanuit Excel. Dat is geen probleem.
Wie snapt dit?
groet
Willem
Voor een paar mensen moet ik afspraken en taken in hun agenda zetten.
In Excel heb ik een lijstje van naam, datum, tijd, locatie en emailadressen.
Ik wil die afspraken en taken niet in mijn Outlook zien. Het is niet voor mij, maar voor hen.
Het moet dus geen vergaderverzoek of gedelegeerde taak worden.
We zitten niet in 1 domein. Het gaat om allemaal stand alone versies van Outlook 2010, 2013 of 2016.
Nu heb ik een keer code gekregen waarmee dat zou moeten lukken. Maar... mij lukt het niet.
'Afspraak in agenda van een ander zetten
Code:
Private Sub Knop140_Click()
Dim strMsg As String
Dim strName As String
Select Case Me![keuzeveld]
Case "xx1"
strName = "naam1@mailadres.nl"
Case "xx2"
strName = "naam2@mailadres.nl"
End Select
' Start Outlook.
' If it is already running, you'll use the same instance...
Set objApp = CreateObject("Outlook.Application")
' Logon. Doesn't hurt if you are already running and logged on...
Set objNs = objApp.GetNamespace("MAPI")
' Create a new appointment.
Set objDummy = objApp.CreateItem(olAppointmentItem)
Set objRecip = objDummy.Recipients.Add(strName)
objRecip.Resolve
If objRecip.Resolved Then
On Error Resume Next
Set objFolder = objNs.GetSharedDefaultFolder(objRecip, 9)
If Not objFolder Is Nothing Then
Set objAppt = objFolder.Items.Add
If Not objAppt Is Nothing Then
With objAppt
.Start = [datum bezoek] + [tijd afspraak]
.Duration = 60
.Subject = [onderwerp]
.Location = [plaats]
.ReminderSet = False
End With
End If
End If
Else
MsgBox "Could not find " & Chr(34) & strName & Chr(34), , _
"User not found"
End If
' Save Appointment...
objAppt.Save
' Clean up...
MsgBox "De afspraak is aangemaakt in de agenda.", vbMsgBoxSetForeground
objNs.Logoff
Set objNs = Nothing
Set objAppt = Nothing
Set objDummy = Nothing
Set objApp = Nothing
Set objFolder = Nothing
Set objRecip = Nothing
End Sub
De Case lijkt me belangrijk, maar ik snap niet wat daar de bedoeling precies van is.
De andere stukjes met blokhaken laat ik vullen vanuit Excel. Dat is geen probleem.
Wie snapt dit?
groet
Willem