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

Forumthread: VBA Script zu Termin in Outlook eintragen

VBA Script zu Termin in Outlook eintragen
04.01.2018 09:11:13
Jürgen
Hallo zusammen,
ich versuche mich mit einem im Netz gefunden Makro Termine aus einer Liste ins Outlook zu übertragen. Das will nicht so recht gelingen. Es kommt zwar kein Fehler, doch scheint da was mit den Datums-Format nicht zu stimmen. Es wird nach Export ins Outlook gleich eine Erinnerung angezeigt, welche jedoch falsch ist.

Vielleicht wüsste jemand Rat. Hier meine Beispiel Mappe:
https://www.herber.de/bbs/user/118667.xlsm
Danke & Gruss,
Juergen
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Script zu Termin in Outlook eintragen
04.01.2018 12:20:02
Sepp
Hallo Jürgen,
erstens gehört der Code in ein allgemeines Modul, unter 'DieseArbeitsmappe' hat er nichts Verloren!
Zweitens verwendest du .Selection, nimmst dann für die Zellen aber Variablen, die gar nicht deklariert und eben sowenig mit einem Wert versehen sind.
Probier mal.
https://www.herber.de/bbs/user/118669.xlsm
Gruß Sepp

Anzeige
AW: VBA Script zu Termin in Outlook eintragen
04.01.2018 15:13:23
Jürgen
Hallo Sepp,
danke für deine Antwort.
Nun, ich bin ein Laie was VBA angeht. Es beschränkt sich auf Recorder und copy&paste. leider.
Dein Makro funktioniert soweit ohne Fehler!
Leider wird allerdings nur der erste Datumseintrag exportiert ins Outlook. Die anderen bleiben unberücksichtigt.
Dann habe ich mal die Uhrzeit vom ersten Datumseintrag verändert auf 15:00. Danach wurde der 2. Datumseintrag ins Outlook geschrieben, nicht mehr der erste. Den dritten kann ich überhaupt nicht dazu bewegen ins Outlook zu hüpfen. Vielleicht auch nur Zufall.
Müsste ich noch was anpassen?
Danke & Gruss,
Juergen
Anzeige
Sorry, mein Fehler!
04.01.2018 15:25:45
Jürgen
Hallo Sepp,
es funktioniert alles! Es war mein Fehler!
Ich dachte, es würden alle Datums-Termine immer zugleich exportiert werden. Dabei muss man ja die einzeln markieren.
Was ich zugleich fragen wollte: kann man es so erweitern, dass wenn man eine Mehrfach-Auswahl tätigt (also mehrere Zellen markiert), diese dann alle auf einen Rutsch übertragen werden?
Danke & Gruss,
Juergen
Anzeige
AW: VBA Script zu Termin in Outlook eintragen
04.01.2018 15:28:26
Sepp
Hallo Jürgen,
wie ich schon schrieb, arbeitest du mit .Selection, das heißt dass nur Termine übertragen werden die du ausgewählt hast. Dabei muss außerdem die ganze Termin-Zeile ausgewählt werden.
Äußerst unpraktisch!
Schau die mal mein Beispiel an, da werden alle Termine übertragen und ggf. aktualisiert.
Gruß Sepp

Anzeige
Nachtrag!
04.01.2018 15:30:22
Sepp
Hallo nochmal,
im Beispiel musst du die als übertragen gekennzeichneten Termine zuerst bearbeiten, sonst werden sie nicht übertragen!
Gruß Sepp

AW: das ist natürlich was anderes! :)
04.01.2018 15:49:50
Jürgen
Hallo Sepp,
Boah! das is ja ein Ding! Toll!
Darf ich das von die benützen?
Die Funktion ist mir auf der Oberfläche klar (die Legende ist ja toll!).
Ich änderte Temine und wollte übertragen. Aber das funzt leider nicht. Bleibt in einer Schleife hängen oder so. Müsste ich noch Parameter für mich anpassen?
Danke & Gruss,
Juergen
Anzeige
AW: das ist natürlich was anderes! :)
04.01.2018 16:27:01
Sepp
Hallo Jürgen,
anpassen musst du nichts.
Hier noch mel eine "Jungfräuliche" Datei ohne Daten.
Outlokk_Kalender.xlsm"
Gruß Sepp

Anzeige
AW: das ist natürlich was anderes! :)
04.01.2018 19:11:46
Jürgen
Hallo Sepp,
danke für die Überlassung. Beide Dateien funktionieren einwandfrei.
Es war meine Ungeduld, bzw. dachte ich es geht mit dem Einlesen ins Outlook so schnell wie bei meinem Script. Man muss es nur abwarten können (ca. 1 Min), dann ist alles erledigt.
Das ist auch unabhängig wieviele Termine eingelesen werden. Aber ist ja auch klar, das Script checkt ja viel mehr hin und her. Tolles Teil mit der Legende und Lösch-und Aktualisierungs-Modus.
Vielen Dank für deine Hilfe!
Gruss,
Juergen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Script zum Eintragen von Terminen in Outlook


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Öffne Excel und erstelle eine Liste mit den Terminen, die du in Outlook eintragen möchtest. Stelle sicher, dass die Datumsformate korrekt sind (z.B. TT.MM.JJJJ).

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Modul hinzufügen: Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Code einfügen: Kopiere und füge den folgenden Code in das Modul ein:

    Sub TermineInOutlookEintragen()
       Dim olApp As Object
       Dim olAppointment As Object
       Dim ws As Worksheet
       Dim i As Integer
    
       Set olApp = CreateObject("Outlook.Application")
       Set ws = ThisWorkbook.Sheets("DeinTabellenname") ' Ändere dies zu deinem Tabellennamen
    
       For i = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Annahme: Termine beginnen in Zeile 2
           Set olAppointment = olApp.CreateItem(1) ' 1 steht für olAppointmentItem
           With olAppointment
               .Start = ws.Cells(i, 1).Value ' Datum in Spalte A
               .Subject = ws.Cells(i, 2).Value ' Betreff in Spalte B
               .Duration = 60 ' Dauer in Minuten
               .ReminderSet = True
               .ReminderMinutesBeforeStart = 15
               .Save
           End With
       Next i
    
       Set olAppointment = Nothing
       Set olApp = Nothing
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Führe das Makro aus, um die Termine in Outlook zu erstellen.


Häufige Fehler und Lösungen

  • Fehler: Termine werden nicht erstellt: Stelle sicher, dass der Code im richtigen Modul eingefügt wurde und dass die Datumsformate korrekt sind.

  • Fehler: Erinnerungen werden nicht korrekt angezeigt: Überprüfe, ob die Datums- und Zeitangaben in der Excel-Liste korrekt sind.

  • Fehler: Nur der erste Termin wird übertragen: Achte darauf, dass du den gesamten Bereich der Termine markierst, wenn du mehrere Termine eintragen möchtest.


Alternative Methoden

  • Outlook Makros: Nutze Outlook-spezifische Makros, um direkt in Outlook Termine zu erstellen. Diese können einfacher sein, wenn du häufig Termine erstellst.

  • Drittanbieter-Tools: Es gibt verschiedene Tools, die Excel und Outlook integrieren können, um Termine zu verwalten und zu synchronisieren.


Praktische Beispiele

  • Beispiel 1: Wenn du eine Liste mit mehreren Terminen hast, kannst du das oben genannte Makro verwenden, um diese in Outlook einzutragen.

  • Beispiel 2: Wenn du einen bestimmten Kalender in Outlook ansteuern möchtest, musst du den Code anpassen, um den gewünschten Kalender auszuwählen, indem du die GetNamespace Methode verwendest.


Tipps für Profis

  • Optimierung des Codes: Überlege, wie du den Code optimieren kannst, z.B. durch Hinzufügen von Bedingungen oder Filtern, um nur bestimmte Termine zu exportieren.

  • Fehlerbehandlung einbauen: Implementiere eine einfache Fehlerbehandlung, um Probleme beim Exportieren von Terminen zu erkennen und zu beheben.


FAQ: Häufige Fragen

1. Wie kann ich Termine in einen bestimmten Outlook-Kalender eintragen?
Du kannst den Code anpassen, um den spezifischen Kalender auszuwählen, indem du die GetNamespace Methode verwendest und den gewünschten Kalender angibst.

2. Kann ich mehrere Termine gleichzeitig auswählen und eintragen?
Ja, du kannst das Makro so modifizieren, dass es alle markierten Termine einträgt. Stelle sicher, dass du die gesamte Zeile der Termine wählst.

3. Was tun, wenn ich keine Erinnerungen für die Termine brauche?
Du kannst die Zeile .ReminderSet = True sowie die Zeile .ReminderMinutesBeforeStart = 15 aus dem Code entfernen, um keine Erinnerungen zu setzen.

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