Outlook / Microsoft 365 an SQL Server oder Access anbinden: Wenn E-Mails, Kalender und Kontakte endlich auswertbar werden

Was ist Outlook?

Microsoft Outlook ist in Microsoft 365 integriert und deckt ab:

  • E-Mails
  • Kalender
  • Kontakte
  • Aufgaben
  • Notizen

Technische Basis:

  • Datenhaltung in Exchange Online (Microsoft 365 Cloud)
  • Lokale Outlook-App mit .ost/.pst-Dateien
  • Zugriff ĂŒber:
    • Outlook-Objektmodell (VBA)
    • Microsoft Graph API
    • Power Automate
    • MAPI / EWS (veraltet)

SQL Server ist kein nativer Bestandteil – Du musst die Daten aktiv rĂŒberziehen.

Noch aktuell?

Ja. Outlook ist Standard im Businessbereich.

Nachfolger? Nicht direkt. Aber:

  • Web-Outlook (OWA) wird ausgebaut
  • Outlook fĂŒr Windows wird in Microsoft 365 modernisiert
  • Copilot wird integriert
  • Lokale PST-/VBA-Anwendungen werden langfristig verdrĂ€ngt

Warum anbinden?

Weil Outlook mehr kann als Mails anzeigen.

  • E-Mail-Volumen analysieren
  • Kalenderauslastung pro Team
  • Kundenkommunikation dokumentieren
  • Aufgabenlisten zentralisieren
  • Ticketsystem ersetzen
  • DWH befĂŒllen

Was geht – und was nicht

ZugriffStatusBemerkung
Outlook-Objektmodell✅VBA-basiert, lokal
Graph API✅Cloudbasiert, fĂŒr M365
Direkter SQL-Zugriff❌Nicht vorgesehen
CSV-Export⚠Nur manuell
Power Automate✅FĂŒr automatisierte Prozesse nutzbar

Outlook-Objektmodell per VBA

Beispiel: Alle Betreffzeilen aus Posteingang in Access-Tabelle schreiben

Sub MailsInAccess()

    Dim olApp As Outlook.Application
    Dim olNs As Outlook.Namespace
    Dim olFolder As Outlook.MAPIFolder
    Dim olMail As Object
    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set olApp = New Outlook.Application
    Set olNs = olApp.GetNamespace("MAPI")
    Set olFolder = olNs.GetDefaultFolder(olFolderInbox)
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tblMailImport", dbOpenDynaset)

    For Each olMail In olFolder.Items
        If olMail.Class = olMail Then
            rs.AddNew
            rs!Betreff = olMail.Subject
            rs!EmpfangenAm = olMail.ReceivedTime
            rs!Von = olMail.SenderName
            rs.Update
        End If
    Next

    rs.Close

End Sub

Danach ganz normale Auswertung mit Jet-SQL in Access.

Zugriff ĂŒber Microsoft Graph API

Erfordert:

  • Azure AD App Registration
  • OAuth2-Token
  • Berechtigungen wie Mail.Read, Calendars.Read, Contacts.Read

Beispiel: Abruf von KalendereintrÀgen

GET https://graph.microsoft.com/v1.0/me/calendar/events
Authorization: Bearer DEIN_TOKEN

RĂŒckgabe: JSON mit Betreff, Start, Ende, Ort

In Power Automate oder mit PowerShell / Python kannst Du diese Daten direkt in SQL Server schreiben.

SQL Server-Zieltabelle

CREATE TABLE KalenderEintraege (
    EventId NVARCHAR(100),
    Betreff NVARCHAR(255),
    Startzeit DATETIME,
    Endzeit DATETIME,
    Ort NVARCHAR(255)
);

Datenfluss mit Power Automate

Beispiel: TĂ€glicher Import neuer E-Mails in SQL Server

  1. Trigger: „When a new email arrives (V3)“
  2. Bedingung: z. B. nur bestimmte Absender
  3. Aktion: SQL Server – Insert Row

Alternativ: Weiterleitung an Power BI per Stream oder als JSON-Dump

Typische BI-Fragen aus Outlook-Daten

Wie viele externe E-Mails kamen im letzten Quartal rein?
→ Filter auf Senderadresse

Welche Wochentage sind besonders voll im Kalender?
→ Datumsanalyse aus Graph API

Wie oft werden Aufgaben nicht abgeschlossen?
→ Outlook-Aufgaben mit Status <> Completed

Wie ist die Meeting-Auslastung pro Abteilung?
→ Kalenderdaten + Personenreferenz

Und wenn nichts davon geht?

Dann bleibt nur RPA.

  • Outlook starten
  • Filter anwenden
  • Inhalte kopieren oder exportieren
  • In CSV schreiben
  • Per Access oder SQL importieren

Nicht schön – aber machbar.

Fazit

Outlook ist keine Datenbank – aber eine Goldgrube fĂŒr Kommunikation, Planung und Prozessdaten.

Mit VBA, Graph API und Power Automate kannst Du Dir das rausholen, was Du brauchst.

Wenn Du Hilfe beim Zugriff, der Auswertung oder Migration in ein BI-System brauchst – ich bin da.
Du weißt ja, wo Du mich findest.

PS: EinschrÀnkungen im neuen Outlook 2025

Wenn Du das neue Outlook fĂŒr Windows (basierend auf der Webtechnologie von Outlook Web Access) nutzt, wirst Du schnell merken:
VBA funktioniert dort nicht mehr.

Im Gegensatz zum klassischen Outlook (auch „Outlook Classic“ genannt), das noch das vollstĂ€ndige Outlook-Objektmodell mit VBA-Zugriff bietet, ist im neuen Outlook die lokale Automatisierung abgeschafft worden.

Keine Makros, kein Zugriff auf Mailobjekte, keine benutzerdefinierten Formulare.

Wenn Du also eigene Auswertungen, Datenexporte oder Automatisierung mit VBA nutzt, solltest Du beim klassischen Outlook bleiben – oder direkt auf die Graph API und Power Automate umsteigen.
Beides ist zukunftssicher, aber mit mehr technischem Aufwand verbunden.

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert