Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Termin in outlook Kalender eintragen

Begonnen von tismo, März 27, 2018, 18:50:07

⏪ vorheriges - nächstes ⏩

tismo

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

markusxy

Verwende die Items.add statt der CreateItem Methode.
In der VBA Hilfe finden sich Erklärungen und Beispiele falls benötigt.

LG Markus

tismo

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


tismo

#3
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]))