Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel VBA Outlook Serientermin erstellen

Excel VBA Outlook Serientermin erstellen
13.05.2016 09:26:24
Sarah
Hallo ihr Lieben,
Ich habe ein Programm geschrieben, das Geburtstage direkt in einen Outlook-Kalender eintragen bzw. erstellen soll - und im Moment leider ein kleines Problem damit. Wichtig ist mir hierbei, dass es jährlich wiederholende Termine sind. Das funktioniert auch soweit sehr gut. Wenn ich meinen Quellcode jetzt so umschreibe, dass das Tool den Termin nicht direkt einträgt sondern den Termin lediglich generiert [also Befehl von .Save zu . Display] (also dass sich ein Fenster mit den Daten zum Abschicken öffnet) dann macht Outlook aus meinem Termin keinen Serientermin (jährliche Wiederholung) mehr und der Termin läuft auch nicht mehr den ganzen Tag sondern nur noch ein paar Minuten.
Kennt jemand so ein Problem oder besser noch: eine Lösung dafür? :) Oder geht das vielleicht gar nicht?
Hier der Link mit meinem bisherigem Programm: https://www.herber.de/bbs/user/105540.xlsm
Ich freue mich schon auf Vorschläge :)
Danke und ein schönes Wochenende!
Sarah

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Outlook Serientermin erstellen
13.05.2016 14:58:47
Luschi
Hallo Sarah,
die Vba-Zeile: .Duration = "5" ist falsch
- sie bezieht sich bei Dir auf das Objekt 'apptOutApp' ist aber eine Eigenschaft des Objektes 'OutPattern'
- Duration selbst ist aber kein String- sondern lt. Vba-Outlook-Hilfe ein Long-Wert
Deshalb muß die Zeile so lauten: OutPattern..Duration = 1440 '(ein Tag hat 1440 Minuten)
Zusätzlich fehlen ein paar Angaben:
Set OutPattern = apptOutApp.GetRecurrencePattern
'----------------
OutPattern.PatternStartDate = .Start 'Beginn des Serientermins
'----------------
OutPattern.RecurrenceType = olRecursYearly ' wiederkehrender Termin
OutPattern.Duration = 1440 'ganztägig
'------------------------
OutPattern.Interval = 1 'jedes Jahr - bezogen auf 'olRecursYearly'
''OutPattern.Interval = 2 'nur jedes 2. Jahr usw.
OutPattern.NoEndDate = True 'kein Ablaufdatum
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Excel VBA Outlook Serientermin erstellen
17.05.2016 09:02:27
Sarah
Hallo Luschi,
vielen Dank für deine Hilfe! Funktioniert perfekt und ist genau das, was ich gesucht habe!
Danke & viele Grüße
Sarah
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel VBA: Outlook Serientermin Erstellen


Schritt-für-Schritt-Anleitung

Um eine Outlook Terminserie zu erstellen und Geburtstage in Outlook aus Excel einzutragen, benötigst du eine VBA-Makro in Excel. Folge dieser Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeineDatei.xlsx)“ > Einfügen > Modul.

  3. Kopiere den folgenden Code und füge ihn in das Modul ein:

    Sub OutlookSerienterminErstellen()
        Dim OutApp As Object
        Dim OutTerm As Object
        Dim OutPattern As Object
    
        ' Outlook-Anwendung erstellen
        Set OutApp = CreateObject("Outlook.Application")
        Set OutTerm = OutApp.CreateItem(1) ' 1 = olAppointmentItem
    
        With OutTerm
            .Subject = "Geburtstag"
            .Start = #01/01/2023# ' Setze das Startdatum
            .AllDayEvent = True ' Ganztägig
            .ReminderSet = True
            .ReminderMinutesBeforeStart = 30
    
            ' Serientermin erstellen
            Set OutPattern = .GetRecurrencePattern
            With OutPattern
                .RecurrenceType = 1 ' olRecursYearly
                .PatternStartDate = .Start
                .Interval = 1 ' Jährlich
                .NoEndDate = True
            End With
    
            .Display ' Zeigt den Serientermin an
        End With
    
        ' Objekte freigeben
        Set OutPattern = Nothing
        Set OutTerm = Nothing
        Set OutApp = Nothing
    End Sub
  4. Starte das Makro: Drücke F5 oder gehe zu „Ausführen“ > „Sub/UserForm ausführen“ und wähle OutlookSerienterminErstellen.

Mit diesem VBA-Skript kannst du eine Terminserie in Outlook erstellen. Achte darauf, dass du die Startdaten und andere Details nach Bedarf anpasst.


Häufige Fehler und Lösungen

  1. Fehler: Termin wird nicht als Serientermin erkannt

    • Stelle sicher, dass du das GetRecurrencePattern korrekt verwendest. Wenn du .Display verwendest, muss das RecurrencePattern vor der Anzeige festgelegt werden.
  2. Fehler: Dauer des Termins wird nicht korrekt angezeigt

    • Achte darauf, die Dauer richtig einzustellen. Ändere die Zeile:
      OutPattern.Duration = 1440 ' Ein Tag hat 1440 Minuten
  3. Fehler: Terminserie wird nicht jährlich wiederholt

    • Überprüfe, ob .RecurrenceType auf olRecursYearly gesetzt ist und dass die Intervalle korrekt sind.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du die Terminserie manuell in Outlook erstellen:

  1. Öffne Outlook und gehe zum Kalender.
  2. Klicke auf „Neuer Termin“.
  3. Fülle die Details aus und setze den Haken bei „Ganztägig“.
  4. Klicke auf „Serientyp“ und wähle „Jährlich“ aus.
  5. Speichere den Termin.

Diese Methode ist einfach, erfordert jedoch manuelle Eingaben.


Praktische Beispiele

  • Beispiel für einen Geburtstag: Setze das Startdatum auf den Geburtstag und wähle jährlich als Wiederholungsart.

  • Beispiel für eine jährliche Veranstaltung: Erstelle einen Serientermin für eine jährliche Teambesprechung, indem du das Datum und die Uhrzeit entsprechend anpasst.

Wenn du Geburtstage in Outlook aus Excel eintragen möchtest, nutze das oben bereitgestellte VBA-Skript als Basis.


Tipps für Profis

  • Nutze Error Handling, um Fehler im Code besser zu verwalten. Füge On Error Resume Next am Anfang der Subroutine hinzu, um das Programm nicht zum Absturz zu bringen.

  • Verwende benutzerdefinierte Formate für das Datum, um sicherzustellen, dass es korrekt interpretiert wird.

  • Experimentiere mit weiteren Outlook-Einstellungen, wie z.B. Erinnerungen und Kategorien, um deine Terminserie zu personalisieren.


FAQ: Häufige Fragen

1. Wie kann ich einen Serientermin bearbeiten?
Du kannst einen Serientermin in Outlook öffnen und auf „Serientyp“ klicken, um die Einstellungen zu ändern.

2. Kann ich einen Serientermin löschen?
Ja, öffne den Serientermin und wähle „Löschen“. Du hast die Wahl, nur diesen Termin oder die gesamte Serie zu löschen.

3. Wie erstelle ich einen Termin in Outlook ohne VBA?
Du kannst einen neuen Termin manuell in Outlook erstellen und die Optionen für Serientermine im Menü „Serientyp“ auswählen.

4. Was passiert, wenn der Termin auf ein Wochenende fällt?
Wenn du die Funktionalität für „nicht am Wochenende“ benötigst, musst du dies im VBA-Code oder manuell bei der Erstellung des Termins berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige