Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Afspraak maken in de agenda van een ander

60 views
Skip to first unread message

margret...@gmail.com

unread,
Sep 24, 2015, 11:13:11 AM9/24/15
to
Hallo,

I.v.m. een planning, wil ik in de agenda van een collega een afspraak zetten. Het is dus geen vergaderverzoek en de afspraak wil ik niet in mijn agenda hebben.

In Excel heb ik een datum, een tijd en een locatie. Met VBA moet dit dan in de Outlookagenda van mijn collega komen.

Ik gebruik Office 2010 en mijn collega ook. Het zijn beide standalone versies.

Het schijnt te kunnen. Wie weet dit?

groet
Willem

olth...@gmail.com

unread,
Feb 19, 2016, 12:35:03 PM2/19/16
to
Op donderdag 24 september 2015 17:13:11 UTC+2 schreef margret...@gmail.com:
maak een excel file met de volgende kolommen:

Onderwerp Begindatum Begintijd einddatum Eindtijd Omschrijving Locatie

voeg daaraan de volgende macro code toe:
als de macro uitgevoerd wordt zal er een ics file gegenereerd worden. deze mailen naar de gewenste personen. De ics file kan geimporteerd worden in outlook of in google agenda.

Let er op dat het onderwerp ingevuld is anders zal er geen agenda item aangemaakt worden.

Sub Generate_ICS()
ActiveSheet.Select
Dim rng1 As Range, X, i As Long, v As Long
Dim objFSO, objFile
Dim FilePath As String
FilePath = ThisWorkbook.Path & "\" & ActiveSheet.Name & "-agenda" & ".ics" 'evt naam aanpassen

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(FilePath)
Set rng1 = Range("A2", Cells(Rows.Count, 8).End(xlUp))

X = rng1
objFile.Write "BEGIN:VCALENDAR" & vbCrLf & "VERSION:2.0" & vbCrLf

For i = 1 To UBound(X, 1)
If Not rng1(i, 1).Value = "" Then 'lege agenda regels overslaan
If (X(i, 3) = "") Then 'geen begintijd ingevuld dan agenda gebeurtenis voor de hele dag
objFile.Write "BEGIN:VEVENT" & vbCrLf & "DTSTART;VALUE=DATE:" & Format(X(i, 2), "yyyymmdd") & vbCrLf & "DTEND;VALUE=DATE:" & Format(X(i, 4), "yyyymmdd") & vbCrLf & "DESCRIPTION:" & X(i, 6) & _
vbCrLf & "SUMMARY:" & X(i, 1) & vbCrLf & "LOCATION:" & X(i, 7) & vbCrLf & "END:VEVENT" & vbCrLf
Else

objFile.Write "BEGIN:VEVENT" & vbCrLf & "DTSTART:" & Format(X(i, 2), "yyyymmdd") & "T" & Format(X(i, 3), "HHMMSS") & vbCrLf & "DTEND:" & Format(X(i, 4), "yyyymmdd") & "T" & Format(X(i, 5), "HHMMSS") & vbCrLf & "DESCRIPTION:" & X(i, 6) & _
vbCrLf & "SUMMARY:" & X(i, 1) & vbCrLf & "LOCATION:" & X(i, 7) & vbCrLf & "END:VEVENT" & vbCrLf
End If
End If
Next i
objFile.Write "END:VCALENDAR"
MsgBox "opgeslagen in: " & ThisWorkbook.Path & "\" & ActiveSheet.Name & "-agenda" & ".ics" 'evt naam aanpassen

End Sub
0 new messages