Hallo,
ich weiß, dass Thema wurde bereits beschrieben, aber ich komme trotz Suche in verschiedensten Foren nicht weiter.
Ich möchte einen Termin in Outlook in Kalender2 eintragen. Mit folgender vba erscheint der Eintrag immer nur im Haupt-Kalender.
Private Sub Befehl22_Click()
Dim appOL As New Outlook.Application
Dim itm As Outlook.AppointmentItem
Dim olNS As Outlook.NameSpace
Dim olCal As Outlook.MAPIFolder
Set olNS = appOL.GetNamespace("MAPI")
Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders("Kalender2")
If Err Then
Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders.Add("Kalender2")
Err.Clear
End If
Set itm = Outlook.CreateItem(olAppointmentItem)
itm.Start = Format(Me![Datum], "dd.mm.yyyy") & " " & Format(Me![Zeit], "hh:mm")
itm.Duration = [Dauer]
itm.Subject = [Ereignis] & " " & [Bezeichnung]
itm.Save
End Sub
wo liegt mein Fehler ?
Gruß,
Lars
Verwende die Items.add statt der CreateItem Methode.
In der VBA Hilfe finden sich Erklärungen und Beispiele falls benötigt.
LG Markus
Danke,
Problem gelöst. Hier die vba, die funktioniert :)
Private Sub Befehl22_Click()
Dim appOL As New Outlook.Application
Dim itm As Outlook.AppointmentItem
Dim olNS As Outlook.NameSpace
Dim olCal As Outlook.MAPIFolder
Set olApp = CreateObject("Outlook.Application")
Set olNS = appOL.GetNamespace("MAPI")
Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders("Kalender2")
If Err Then
Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders.Add("Kalender2")
Err.Clear
End If
Set olApp = olApp.CreateItem(olAppointmentItem)
olApp.Start = Format(Me![Datum], "dd.mm.yyyy") & " " & Format(Me![Zeit], "hh:mm")
olApp.Duration = Format(Me![Dauer])
olApp.Subject = [Ereignis] & " " & [Bezeichnung]
olApp.Save
olApp.Move olCal
End Sub
Tja, da war ich wohl etwas voreilig ...
Ich hatte eingentlich vor gehabt, dass der Nutzer über eine Liste den entsprechenen Kalender auswählen kann.
Was muss ich anstatt
Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders("Kalender2")
für 'Kalender2' einsetzen, wenn das Textfeld 'Kalender' heißt ?
Fehler gefunden:
Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders(([Kalender]))