Jak dodać wydarzenie do kalendarza

przez | 2024-03-24

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.