PDA

Vollständige Version anzeigen : Outlook VBA: Antwortemail durch Kategorisierung


Nils199
27.03.2017, 13:39
Hallo zusammen,

ich bin leider nur ein Leihe was vba Programmierung angeht, aber ich würde gerne mit einem Outlook Makro Emails, die in einem Gruppenordner eingehen, verwalten. Und zwar soll durch eine Kategorisierung der Email eine automatische Antwortmail an den Absender versendet werden. In den Kategorien steht der Mitarbeiter, der weiter zuständig ist. (Da es wahrscheinlich schwieriger ist im Moment einer Kategorisierung schon eine Mail zu verschicken, würde ich die Email kategorisieren und dann das Makro starten und die Kategorie der ausgewählten Email einlesen)

D.h. im ersten Schritt müsste die Kategorie eingelesen werden:
Ich habe in einem anderen Thread schon den Befehl "objItem.Categories" gefunden, aber leider war dort nicht erklärt, wie ich die Informationen in einen String kriege bzw. wie ich objItem "dimmen" muss (falls man dimmen nicht sagt / deklarieren :D ).
Den Abgleich des Kategoriennamens mithilfe einer If-Schleife würde ich dann hinkriegen.

Das zweite Problem ist die Informationen in eine Email zu kriegen. Kann man auf die Email antworten? Wenn ja mit welchem Befehl kriegt man denn einen String in den Textkörper?
ListBox1.AddItem ("...") -> dieser Befehl muss immer debuggt werden.

Wenn man nicht auf eine Email antworten kann müssten die Informationen über Absender und Betreff zusätzlich noch in eine neue Email übertragen werden. Muss dann erst eine leere Email geöffnet werden? Und mit welchen Befehlen kann man den Absender und den Betreff einlesen?

Ohhje ich hoffe ich habe das Problem gut genug schildern können. Jegliche Fragen bitte schreiben, ich würde mich über eure Hilfe sehr freuen.
Danke schon mal im Vorraus.
Nils

Nils199
29.03.2017, 11:18
Hallo zusammen...

ich bin schon ein bisschen am basteln... ich versuche gerade mir per vba die Kategorie der markierten Email ausgeben zu lassen. Dafür habe ich mittlerweile zwei Ansätze gefunden. Allerdings kommt beides mal der Fehler "Typen unverträglich".

Ansatz1:

Option Explicit

Sub Categorie_of_Selection()
Dim objItem As Outlook.MailItem
Dim Name As String
Dim objSelection As Outlook.Selection

Set objSelection = Application.ActiveExplorer.Selection

Select Case objSelection.Count
Case 0
MsgBox "Es sind keine Mails ausgewählt !"

Case Else
For Each objItem In objSelection 'Fehler: Typen unverträglich
Debug.Print "Category: " & objItem.Categories
Next
End Select

End Sub

In einer Reihe anderer Blogeinträge finde ich das so geschrieben... wenn ich deren Lösungen für ähnliche Probleme ausprobiere kommt bei mit der Fehler.


Ansatz 2:

Option Explicit

Sub Categorie_of_Selection_next()
Dim objItem As Outlook.MailItem
Dim Name As String
Dim objSelection As Outlook.Selection

Set objSelection = Application.ActiveExplorer.Selection

Set objItem = objSelection.Item(1)'Fehler: Typen unverträglich

Name = objItem.Categories
MsgBox SubfolderName

End Sub

Meine Eigenkreation...

Ich hoffe das jemand von euch zu einem der Ansätze die zündende Idee hat.
Gruß Nils

Nils199
29.03.2017, 12:52
habe es mitlerweile hingekriegt... Danke

Option Explicit

Sub autoemail()
Dim obj As Object
Dim mail As MailItem
Dim Kat As String
Dim Name As String
Dim Absender As String
Dim mail2 As MailItem
Dim Text As String
Dim Text2 As String

For Each obj In Application.ActiveExplorer.Selection
If TypeName(obj) = "MailItem" Then
Set mail = obj
Kat = mail.Categories

'Abgleich der Kategorie
Select Case Kat
Case "Blaue Kategorie"
Name = "Herr XY"
Case "Rote Kategorie"
Name = "Herr XX"
Case "Grüne Kategorie"
Name = "Frau ZZ"
Case Else
Name = "Fehler"
End Select
Absender = mail.SenderName

'Text der Email verfassen
Text = "Hallo " & Absender & ","
Text2 = "der zuständige Sachbearbeiter für Ihre Anfrage ist " & Name

'Hier auf Email antworten
Set mail2 = mail.Reply
mail2.Body = Text & vbNewLine & vbNewLine & Text2 & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" _
& vbNewLine & "das Angebotsteam"
mail2.Display '.Send zum versenden

End If
Next obj
End Sub