Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

In Excel eine Regel in Outlook erstellen

In Excel eine Regel in Outlook erstellen
18.05.2022 10:20:58
bikerHH75
Guten Morgen,
ich bin gerade dabei in Excel eine Möglichkeit zu finden, über ein Formular Button eine Regel in Outlook zu erstellen.
Die Situation zum Verständnis:
Ich bearbeite aus Excel meine Projekte.
Wenn ich ein neues Projekt starte, so möchte ich in Outlook ein neuen Ordner und eine Regel erstellen, dass wenn zu diesem Projekt eine E-Mail reinkommt, diese automatisch in den dafür passenden Ordner verschoben wird und ich eine Benachrichtigung dazu erhalte.
Bisher erstelle ich dieses immer manuell.
Also Ordner im Posteingang erstellen und danach eine Regel mit folgenden Punkten:

Nach Erhalt einer Nachricht
mit ProjektNr im Betreff
im Benachrichtigungsfenster für neue Elemente ProjektNr - Kundenname anzeigen
und diese in den Ordner ProjektNr verschieben
Diese Regel soll immer aktiv sein.
Den Ordner erstellen bekomme ich schon hin. Siehe Code:

Private Sub CmdOutlookAdd_Click()
' OUTLOOK Ordner erstellen
Dim MyOLApp As Outlook.Application
Dim myNameSpace As Outlook.Namespace
Dim mynewfolder As Object
Dim myFolder As Object
Dim ProjektNr As String, Kundenname As String, AddOrdner As String
'Diese 3 Variablen einzeln deklariert, um die Werte zur weiteren Verarbeitung fix zu haben
ProjektNr  = Range("c2")
Kundenname = Range("c1")
AddOrdner = (ProjektNr & " - " & Kundenname)
Set MyOLApp = CreateObject("Outlook.Application")
Set myNameSpace = MyOLApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.Folders("xxx@xxx.de").Folders("Posteingang").Folders("_Projekte")
Set mynewfolder = myFolder.Folders.Add(AddOrdner)
End Sub
Jetzt möchte ich halt noch die besagte Regel erstellen und bin dabei auf diesen Code von folgender Seite gestoßen:
https://docs.microsoft.com/de-de/office/vba/outlook/how-to/rules/create-a-rule-to-move-specific-e-mails-to-a-folder
Auf diese wollte ich aufbauen, bekomme aber eine Fehlermeldung zur Zeile:

Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox) 
Fehlermeldung:

Laufzeitfehler '438':
Objekt unterstützt diese Eigenschaft oder Methode nicht
Auf der Suche nach einer Lösung zu dieser Situation habe ich unteranderen gelesen, dass eventuell ein Add-Ins die Ursache sein könnte. Dort habe ich aber keine Einträge im Dropdown "Add-Inn" .
Jemand sonst noch eine Idee, woran es liegen könnte? Oder vielleicht ein anderen Code, den ich verwenden könnte?
Ich habe diesbezüglich nicht viel dazu gefunden, was mir weiterhelfen könnte. Darum melde ich mich jetzt hier mit mein Problem.
Zusätzliche Frage: Wenn ich es mit Eurer Hilfe hinbekomme und später den Ordner per VBA verschiebe, muss ich dann auch die Regel neu schreiben?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Excel eine Regel in Outlook erstellen
18.05.2022 12:49:51
Tobias
Hallo biker,
da du dich ja in Excel befindest bedeutet Application für deinen Code dein Excel und nicht Outlook. Ich denke da liegt das Problem.

Set MyOLApp = CreateObject("Outlook.Application")
dürfte danach den entsprechenden Code bezogen auf MyOLApp ermöglichen:

Set oInbox = MyOLApp.Session.GetDefaultFolder(olFolderInbox) 
Schöne Grüße
Tobias
AW: In Excel eine Regel in Outlook erstellen
18.05.2022 15:01:06
bikerHH75
Moin Tobias,
vielen Dank für Dein Hinweis. Der hat geholfen!
Ich habe den Code soweit funktionierend angepasst.

Private Sub CmdOutlookOrdner_Click()
Dim MyOLApp As Outlook.Application
Dim myNameSpace As Outlook.Namespace
Dim mynewfolder As Object
Dim myFolder As Object
Dim ProjektNr As String, Kundenname As String, AddOrdner As String
Dim colRules As Outlook.Rules
Dim oRule As Outlook.Rule
Dim colRuleActions As Outlook.RuleActions
Dim oMoveRuleAction As Outlook.MoveOrCopyRuleAction
Dim oConditionsSubject As Outlook.TextRuleCondition
Dim oInbox As Outlook.Folder
Dim oMoveTarget As Outlook.Folder
'Diese 3 Variablen einzeln deklariert, um die Werte zur weiteren Verarbeitung fix zu haben
ProjektNr = Range("c2")
Kundenname = Range("c1")
AddOrdner = (ProjektNr & " - " & Kundenname)
Set MyOLApp = CreateObject("Outlook.Application")
Set myNameSpace = MyOLApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.Folders("xxx@xxx.de").Folders("Posteingang").Folders("_Projekte")
Set mynewfolder = myFolder.Folders.Add(AddOrdner)
'Specify target folder for rule move action
Set oInbox = MyOLApp.Session.GetDefaultFolder(olFolderInbox)
'Assume that target folder already exists
Set oMoveTarget = oInbox.Folders("_Projekte").Folders(AddOrdner)
'Get Rules from Session.DefaultStore object
Set colRules = MyOLApp.Session.DefaultStore.GetRules()
'Create the rule by adding a Receive Rule to Rules collection
Set oRule = colRules.Create(AddOrdner, olRuleReceive) 'Namen der Regel vergeben
'Wenn Regel zutrifft dann in Ordner verschieben
Set oMoveRuleAction = oRule.Actions.MoveToFolder
With oMoveRuleAction
.Enabled = True
.Folder = oMoveTarget
End With
Set oConditionsSubject = _
oRule.Conditions.Subject
With oConditionsSubject
.Enabled = True
.Text = Array(ProjektNr)
End With
'Update the server and display progress dialog
colRules.Save
End Sub
Soweit so gut!
Jetzt fehlt mir hier nur noch eine Aktion und die bekomme ich irgendwie nicht hin.
Ich möchte noch eine Benachrichtigung auf dem Desktop erhalten, dass eine E-Mail für diese Regel gekommen ist.
Wie bewerkställige ich dieses noch?
Anzeige
AW: In Excel eine Regel in Outlook erstellen
19.05.2022 09:38:54
Tobias
Hallo Biker,
bei Outlook bin ich leider komplett raus, allerdings würde ich vermuten du musst eine weitere Rule mit der Aktion "DesktopAlert" mit anfügen. Oder diese ebenfalls auf enabled setzen im Stil von:

    Set oMoveRuleAction = oRule.Actions.DesktopAlert
With oMoveRuleAction
.Enabled = True
'keine Ahnung ob weitere Angaben nötig sind
End With
Ansonsten in die Richtung mal weitergooglen
Schöne Grüße
Tobias
AW: In Excel eine Regel in Outlook erstellen
19.05.2022 11:27:48
bikerHH75
Moin Tobias,
den Ansatz hatte ich auch schon, aber hier erhalte ich nur eine kurze Nachricht, die bei der Windowsuhr aufpoped. (schreibt man das so? ;-) )
Diese verschwindet bei mir automatisch nach wenigen Sekunden.
Sollte ich aber mal nicht am Platz sein, ist das Popup weg und ich bemerke es erst später, wenn ich in Outlook schaue und das ist für meine Zwecke doof.
ich habe aber nach weiteren und intensiven studieren des Links(siehe erste Nachricht) doch dann das richtige gefunden und zusammengebastelt.
Hier der Zusätzliche Code, für das Anzeigen eines Benachrichtigungsfensters. :-)

...
Dim oRuleActionNewItemAlert As Outlook.NewItemAlertRuleAction
'Sende eine Bildschirmnachricht
Set oRuleActionNewItemAlert = oRule.Actions.NewItemAlert
With oRuleActionNewItemAlert
.Enabled = True
.Text = AddOrdner 'ProjektNr - Kundenname
End With
Vielen Dank für die Unterstützung.
Ich wünsche allen die das hier lesen einen schönen Tag.
VG
Anzeige

288 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige