Frage von bremer1985, 17

Abfragen über Excel in Outlook durchführen/ VBA?

Hey Leute.
Ist es möglich das man in Excel an Makro schreibt, mit dem man Zugriff auf Outlook nimmt um hier aus Ordnern Daten von E-Mails aus zu lesen (gegebenenfalls Betreffzeilen oder Ähnliches)? Hat jemand von euch eventuell schon einen Code für einen ähnlichen Fall?
Helfen würde auch einfach nur der Code welcher Verbindung mit Outlook herstellt.

Danke im Voraus schon mal.

Antwort
von eddi0102, 6

Hallo bremer1985,vor über 10 Jahren hatte ich mal ein Programm geschrieben, das die gezogenen Lottozahlen und Gewinnquoten aus Benachrichtigungs-E-Mails ausgelesen hat. Folgend der wesentliche Teil des Codes.

Dim Post As Outlook.Application
Dim NameSpace
Dim MeinOrdner
Dim Lotto_Ordner

Dim Anzahl_mails As Integer

' Variablen für Stringanalyse

Dim j As Integer ' Zählvariable für analysierte Strings

Dim Anzahl_Trennzeichen_Aufruf As Integer
Dim Trennzeichen_Aufruf As String

Dim String_Aufruf As String

Sub Outlook_Analyse()

Dim Mailindex As Integer
Dim j As Integer
Dim zeile_Gewinnzahlen As Integer
Dim zeile_Gewinnquoten As Integer

Set Post = CreateObject("Outlook.Application")
Set NameSpace = Post.GetNamespace("MAPI")

Set MeinOrdner = NameSpace.GetDefaultFolder(olFolderInbox)
Set Lotto_Ordner = MeinOrdner.Folders("Glücksspiel")


Anzahl_mails = Lotto_Ordner.Items.Count

' Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False

zeile_Gewinnzahlen = 2
zeile_Gewinnquoten = 2

For Mailindex = 1 To Anzahl_mails
Application.StatusBar = "Bearbeite Mail Nr. " & Mailindex
String_Aufruf = Lotto_Ordner.Items(Mailindex)
Trennzeichen_Aufruf = " ,;.:-_#'+*~/\{}[]()!§$%&=?°^"
Anzahl_Trennzeichen_Aufruf = Len(Trennzeichen_Aufruf)
Anzahl_Einträge_Stichwort = 0
Call Stringanalyses(String_Aufruf, Trennzeichen_Aufruf, Anzahl_Trennzeichen_Aufruf)
For j = 1 To Anzahl_Einträge_Stichwort
If Stichwort_Stichwort(j) = "Gewinnzahlen" Then
ThisWorkbook.Worksheets("Gewinnzahlen").Range("A" & zeile_Gewinnzahlen).Value = Mailindex
ThisWorkbook.Worksheets("Gewinnzahlen").Range("B" & zeile_Gewinnzahlen).Value = Lotto_Ordner.Items(Mailindex)
Call Analyse_Gewinnzahlen(Mailindex, zeile_Gewinnzahlen)
zeile_Gewinnzahlen = zeile_Gewinnzahlen + 1
GoTo next_mail
ElseIf Stichwort_Stichwort(j) = "Gewinnquoten" Then
ThisWorkbook.Worksheets("Gewinnquoten").Range("A" & zeile_Gewinnquoten).Value = Mailindex
ThisWorkbook.Worksheets("Gewinnquoten").Range("B" & zeile_Gewinnquoten).Value = Lotto_Ordner.Items(Mailindex)
Call Analyse_Gewinnquoten(Mailindex, zeile_Gewinnquoten)
zeile_Gewinnquoten = zeile_Gewinnquoten + 1
GoTo next_mail
End If
Next j

' Feld löschen
Erase Stichwort_Stichwort

next_mail:

Next Mailindex

Application.StatusBar = "Bereit"

End Sub
Kommentar von bremer1985 ,

Danke für die Hilfe. Ich hatte für schon ein Programm gefunden.
Der erste Versuch gestern hat optimal funktioniert.

Wenn jemand Interesse hat das ist der link zu dem Code:
http://www.office-loesung.de/ftopic465590_0_0_asc.php

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten