Vielleicht sollte ich mal ein Beispiel bringen:
Also angenommen, Du hast zwei Postfächer in Outlook eingebunden.
Postfach1 = "
Postfach - iDiddi"
von E-Mail:
ididdi@domain.tld
Postfach2 = "
Postfach - Fr0sTBlaZe"
von E-Mail:
fr0stblaze@domain.tld
Wenn Du Dich jetzt im "
Postfach - iDiddi" auf höchster Ebene befindest, heißt der übergeordnete (Parent) Eintrag "
Mapi". Das ist der kleinste gemeinsame Nenner
Das Makro fragt jetzt ab, ob der "Parent" vom aktuellen Ordner "
Mapi" ist. Falls ja, habe ich das Postfach schon herausgefunden und weise dem die entsprechende E-Mail-Adresse (Case-Anweisung) zu.
Wenn ich mich jetzt allerdings in einem Unterordner befinde (z.B.: Posteingang), ist der Parent vom Parent auch wieder "
Mapi". So hangel ich mich von Unterordner zu Unterordner durch, bis der Parent halt "
Mapi" ist.
Ist natürlich furchtbar umständlich, leider habe ich keine bessere Lösung gefunden. Da gibt das Outlook-VBA nicht mehr her.
Jetzt müsstest Du nur die entsprechenden Variablen durch diese Daten ersetzen:
Code:
Private Sub m_Inspector_Activate()
On Error GoTo Ende 'Verhindert, dass beim Öffnen anderer Outlook-Klassen (z.B. Kontakte) Fehler angezeigt werden
Dim PFAbsender As String
Dim Postfach As String
Dim m As String
Dim myOrdner As Object
Dim myUnterordner1 As Object
Dim myUnterordner2 As Object
Dim myUnterordner3 As Object
Dim myUnterordner4 As Object
m = "Mapi"
Set myOrdner = Application.ActiveExplorer.CurrentFolder
If m_Inspector.CurrentItem.SentOnBehalfOfName = "" Then 'Wenn Absenderfeld leer, dann...
If myOrdner = "" Then
Postfach = "Postfach - iDiddi"
GoTo Weiter
End If
If myOrdner.Parent = m Then
Postfach = myOrdner
GoTo Weiter
End If
Set myUnterordner1 = myOrdner.Parent
If myUnterordner1.Parent = m Then
Postfach = myUnterordner1
GoTo Weiter
End If
Set myUnterordner2 = myUnterordner1.Parent
If myUnterordner2.Parent = m Then
Postfach = myUnterordner2
GoTo Weiter
End If
Set myUnterordner3 = myUnterordner2.Parent
If myUnterordner3.Parent = m Then
Postfach = myUnterordner3
GoTo Weiter
End If
Set myUnterordner4 = myUnterordner3.Parent
If myUnterordner4.Parent = m Then
Postfach = myUnterordner4
GoTo Weiter
End If
Weiter:
Select Case Postfach
Case "Postfach - iDiddi"
PFAbsender = "ididdi@domain.tld"
Case "Postfach - Fr0sTBlaZe"
PFAbsender = "fr0stblaze@domain.tld"
Case ""
PFAbsender = "ididdi@domain.tld"
End Select
m_Inspector.CurrentItem.SentOnBehalfOfName = PFAbsender '...Name des Absenders hinzufügen...
m_Inspector.CurrentItem.BCC = " " 'Hilfsanpassung, da Absender sonst nicht hinzugefügt wird (weiß Gott, warum!?)
End If
Set m_Inspectors = Application.Inspectors
Ende:
End Sub
Hast Du das genau so?