Pisząc makro np. w Excelu możemy np. odczytać dane z arkusza i na ich podstawie dodać nowe wydarzenie w domyślnym kalendarzu w programie Outlook. Oto przykładowy kod dodający przykładowe godzinne wydarzenie w dniu jutrzejszym o 10:00
Option Explicit
Sub DodajWydarzenie(StartDate As Date, EndDate As Date, Subject As String, Location As String, Body As String, Reminder As Long)
Dim objOutlook As Object
Dim objNamespace As Object
Dim objCalendar As Object
Dim objWydarzenie As Object
Const olFolderCalendar = 9
Const olFormatHTML = 2
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objCalendar = objNamespace.GetDefaultFolder(olFolderCalendar)
Set objWydarzenie = objCalendar.Items.Add
With objWydarzenie
.Subject = Subject
.Start = StartDate
.End = EndDate
.Location = Location
.Body = Body
.ReminderSet = True
.ReminderMinutesBeforeStart = Reminder
.Save
End With
Set objWydarzenie = Nothing
Set objCalendar = Nothing
Set objNamespace = Nothing
Set objOutlook = Nothing
End Sub
Sub TestDodajWydarzenie()
Dim StartDate As Date
Dim EndDate As Date
Dim Temat As String, Lokalizacja As String, Opis As String
'Spotkanie - jutrzejszy dzień o 10:00:00
StartDate = Date + 1 + TimeSerial(10, 0, 0)
'Koniec spotkania = start + 1 godzina
EndDate = DateAdd("h", 1, StartDate)
Temat = "Spotkanie z Jankiem"
Lokalizacja = "Kraków"
Opis = "Plan spotkania: " + vbCrLf
Opis = Opis + "- Punkt1" + vbCrLf
Opis = Opis + "- Punkt2" + vbCrLf
Opis = Opis + "- Punkt3"
Call DodajWydarzenie(StartDate, EndDate, Temat, Lokalizacja, Opis, 15)
End Sub