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
Zugriff | Status | Bemerkung |
---|---|---|
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
- Trigger: „When a new email arrives (V3)“
- Bedingung: z. B. nur bestimmte Absender
- 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