|
Mails aus 2. Postf. mit best. Betreff verschieben
|
| Autor |
Nachricht |
Sheogorath
Einsteiger
Verfasst am: 24. Nov 2009, 11:54 Rufname:
|
|
| Version: Office 2003 |
|
Hallo zusammen,
ich habe ein halbwegs umständliches Problem. Und kenne mich in VBA leider fast gar nicht aus.
Folgendes Szenario:
- 5 Mitarbeiter, jeder mit eigenem Exchange-Postfach
- 1 "Sammelpostfach" (d.h. Pseudo-Benutzer), das bei den 5 Usern im Outlook als zusätzliches Postfach eingerichtet ist (Berechtigungsstufe 6, falls das wichtig ist)
Nun gehen bei uns Anträge im Sammelpostfach - Posteingang ein, die bis jetzt nach Ortsteilen selbst in den eigenen Posteingang verschoben werden mussten.
Mein Wunsch wäre nun ein Makro/Skript das einmal beim Start von Outlook und dann alle 5 Minuten das Zusatz-Postfach wie folgt untersucht:
Wenn im Sammelpostfach eine Mail mit Betreff "Ort1" oder "ort1" ist (also Groß-/Kleinschreibung egal) soll die Mail ins eigene Postfach, dort in den Posteingang VERSCHOBEN werden, nicht weitergeleitet.
Bei anderen Betreffen soll einfach nichts geschehen. Ich weiss nicht, ob Outlook die Mails zur Überprüfung lesen muss oder so, auf jeden Fall soll die Mail weiterhin als ungelesen markiert werden.
Wär echt super, wenn jemand da eine Vorlage oder sowas parat hätte!
Viele Grüße
|
|
Andreas.Fischer
Outlook - Moderator

Verfasst am: 24. Nov 2009, 14:30 Rufname:
Wohnort: Berlin
|
| |
| Version: Office 2003 |
|
Hallo,
Ich habe da mal ein Makro, eigentlich 2, zusammengebastelt, welches du in den VBA-Editor (ALT+F11) unter Projekt1 | Microsoft Office Outlook Objekte | DieseOutlookSitzung auf der rechten Seite reinkopierst.
| Code: | Public WithEvents myolItems As Outlook.Items
Const Postfach = "hier den Postfachnamen des zusätzlichen Postfaches 1:1 eingeben"
Sub Application_Startup()
CheckPostBox
Set myOlItems = Application.GetNamespace("MAPI").Folders(Postfach).Folders.Item("Posteingang").Items
End Sub
Private Sub myolItems_ItemAdd(ByVal newItem As Object)
Dim olDestFldr As Outlook.MAPIFolder
Dim olNameSpace As Outlook.NameSpace
Set olNameSpace = Application.GetNamespace("MAPI")
Set olDestFldr = olNameSpace.GetDefaultFolder(olFolderInbox)
SWord = "Ort-1"
With newItem
If InStr(1, .Subject, SWord) > 0 Then
.Move olDestFldr
.UnRead = True
End If
End With
End Sub
Private Sub CheckPostBox()
Dim myNameSpace As Outlook.NameSpace
Dim myItems As Outlook.MailItem
Dim myDestFldr As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem
Set myNameSpace = Application.GetNamespace("Mapi")
Set myItems = myNameSpace.Folders(Postfach).Folders.Item("Posteingang").Items
Set myDestFldr = myNameSpace.GetDefaultFolder(olFolderInbox)
SWord = "Ort-1"
For Each myItem In myItems
With myItem
If InStr(1, .Subject, SWord) > 0 Then
.Move myDestFldr
.UnRead = True
End If
End With
Next
End Sub |
- Dann musst du noch die Konstante Postfach und den Suchbegriff bei SWord ändern.
- Danach beende den VBA-Editor und kontrolliere noch die Makrosicherheit unter Extras | Makro | Sicherheit. Diese sollte auf Mittel stehen.
- Beende nun Outlook und speichere das VBA-Projekt.
- Beim Neustart von Outlook wirst du nun gefragt, ob du Makros aktivieren willst, was du durch einen Klick auf Makros aktivieren bestätigst.
- Nun sollte das Postfach durchsucht werden.
Das Makro springt an, sobald eine E-Mail in den Posteingang des zusätzlichen Postfaches eingeht (Sub myolItems_ItemAdd).
Beim Start wird der Posteingang durch das Makro CheckPostBox überprüft.
Ich habe das Makro aufgrund des fehlenden zusätzlichen Postfaches nicht getestet.
_________________ Gruß Andreas
Das besondere Erleben.
|
|
Sheogorath
Einsteiger
Verfasst am: 25. Nov 2009, 08:47 Rufname:
|
|
| Version: Office 2003 |
|
Danke soweit erstmal für das Makro.
Er zeigt aber den Fehler "Typen unverträglich" in der Zeile
| Code: | | Set myItems = myNameSpace.Folders(Postfach).Folders.Item("Posteingang").Items |
|
|
Andreas.Fischer
Outlook - Moderator

Verfasst am: 25. Nov 2009, 14:40 Rufname:
Wohnort: Berlin
|
|
| Version: Office 2003 |
|
Hallo,
| Sheogorath - 25. Nov 2009, 07:47 hat folgendes geschrieben: | Danke soweit erstmal für das Makro.
Er zeigt aber den Fehler "Typen unverträglich" in der Zeile
| Code: | | Set myItems = myNameSpace.Folders(Postfach).Folders.Item("Posteingang").Items |
|
Ersetze unter CheckPostbox die Zeilen | Code: | Dim myNameSpace As Outlook.NameSpace
Dim myItems As Outlook.MailItem
Dim myDestFldr As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem |
durch folgende Zeilen | Code: | Dim myNameSpace As Outlook.NameSpace
Dim myItems As Outlook.Items
Dim myDestFldr As Outlook.MAPIFolder
Dim myItem As Outlook.Items |
_________________ Gruß Andreas
Das besondere Erleben.
|
|
Sheogorath
Einsteiger
Verfasst am: 25. Nov 2009, 15:37 Rufname:
|
| |
| Version: Office 2003 |
|
Geht! Danke!
Was ich noch optional bräuchte ist, dass auch Unterordner des Posteingangs des 2. Postfachs geprüft werden.
Und zusätzlich zum Verschieben soll die Mail vorher noch in einen anderen Unterordner des Posteinganges des 2. Postfaches kopiert werden!
|
|
Andreas.Fischer
Outlook - Moderator

Verfasst am: 26. Nov 2009, 12:05 Rufname:
Wohnort: Berlin
|
|
| Version: Office 2003 |
|
Hallo,
| Sheogorath - 25. Nov 2009, 14:37 hat folgendes geschrieben: | | Geht! Danke! | Bitte.
| Sheogorath - 25. Nov 2009, 14:37 hat folgendes geschrieben: | | Und zusätzlich zum Verschieben soll die Mail vorher noch in einen anderen Unterordner des Posteinganges des 2. Postfaches kopiert werden! | Füge nach der Zeile | Code: | | If InStr(1, .Subject, SWord) > 0 Then | folgende Zeilen zusätzlich ein | Code: | 'E-Mail kopieren und verschieben
Dim myDestFldr1 As Outlook.MAPIFolder
Set myDestFldr1 = myNameSpace.Folders(Postfach). _
Folders.Item("Posteingang").Folders.Item("OrdnerNamen")
Set Copyitem = .Copy
Copyitem.Move myDestFldr1 | und ändere den OrdnerNamen, wohin die E-Mail kopiert werden soll.
| Sheogorath - 25. Nov 2009, 14:37 hat folgendes geschrieben: | | Was ich noch optional bräuchte ist, dass auch Unterordner des Posteingangs des 2. Postfachs geprüft werden. |
Wieso sollen die Unterordner auch untersucht werden? Die E-Mails kommen doch im Posteingang an.
Wenn man jetzt die Prüfung auf die Unterordner ausdehnt, läuft das Makro im Kreis, denn es wird ja die E-Mail mit dem obigen Makro in einen Unterordner kopiert.
_________________ Gruß Andreas
Das besondere Erleben.
|
|
Sheogorath
Einsteiger
Verfasst am: 30. Nov 2009, 09:48 Rufname:
|
|
| Version: Office 2003 |
|
| Andreas.Fischer - 26. Nov 2009, 11:05 hat folgendes geschrieben: | Hallo,
Wieso sollen die Unterordner auch untersucht werden? Die E-Mails kommen doch im Posteingang an.
Wenn man jetzt die Prüfung auf die Unterordner ausdehnt, läuft das Makro im Kreis, denn es wird ja die E-Mail mit dem obigen Makro in einen Unterordner kopiert.  |
Jein. Was ich meine ist:
Die Mails werden bereits per Regel in Unterordner verteilt (typisch Behörde, da muss alles geregelt sein). Von dort aus einmal in einen Unterordner des 2. Postfachs kopieren (dort kommen aber nie Mails an!) und dann verschieben. Ich hab das nochmal als Bildchen dargestellt.
Ich hoffe es ist ein bisschen klarer geworden. Ist nur die Frage ob durch diese Situation das Script trotzdem im Kreis läuft.
|
|
Andreas.Fischer
Outlook - Moderator

Verfasst am: 11. Dez 2009, 14:10 Rufname:
Wohnort: Berlin
|
|
| Version: Office 2003 |
|
Hallo,
Also ich versuche es mal mit meinen Worten:
E-Mails kommen im Sammelpostfach an und werden dann per Regel von Exchange in einen der Unterordner (2,3 oder 4) verteilt.
Du nimmst diese E-Mails aus 2 oder 3 oder 4, kopierst sie in den Ordner 1 und verschiebst sie dann in das persönliche Postfach.
Habe ich das richtig verstanden?
_________________ Gruß Andreas
Das besondere Erleben.
|
|
Sheogorath
Einsteiger
Verfasst am: 15. Dez 2009, 08:27 Rufname:
|
|
| Version: Office 2003 |
|
| Ja, genau, die Kopie bleibt in 1. Und die Mail aus 2/3/4 soll danach verschoben werden
|
|
Andreas.Fischer
Outlook - Moderator

Verfasst am: 15. Dez 2009, 10:13 Rufname:
Wohnort: Berlin
|
| |
| Version: Office 2003 |
|
Hallo,
Du willst die Ordner 2, 3 und 4 auf Posteingang überwachen?
Die Überwachung des Posteinganges vom Sammelpostfach benötigst du nicht mehr?
_________________ Gruß Andreas
Das besondere Erleben.
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|
|
|
| Verwandte Themen |
| Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Outlook Mail: Mails werden wegen Regeln doppelt abgespeichert? |
2 |
qwerik |
312 |
20. Aug 2010, 13:17 BigWoelfi  |
 |
Outlook Hilfe: Mails kommen zurück |
2 |
vreni |
103 |
24. Jun 2010, 13:58 Gast  |
 |
Outlook Mail: Mailtext bei manchen Mails verschwunden |
20 |
JoergAD |
2638 |
23. März 2010, 19:34 misching  |
 |
Outlook Mail: IMAP verschobene Mails als ungelesen markieren |
1 |
agoraner |
817 |
21. Okt 2009, 21:08 RycoDePsyco  |
 |
Outlook VBA und Formulare: Makro: Mails absenden und danach drucken |
6 |
alxwz |
506 |
27. Jun 2008, 18:07 alxwz  |
 |
Outlook Mail: Mails auf Wiedervorlage (Nachverfolgung) |
1 |
IKIWI |
712 |
02. Apr 2008, 09:39 IKIWI  |
 |
Outlook Mail: Emails nach dem Lesen automatisch verschieben |
2 |
Tabea666 |
510 |
25. Aug 2007, 16:10 Christi@n  |
 |
Outlook Mail: gesendete Mail per Dialog verschieben |
0 |
Gast |
505 |
10. Apr 2007, 20:25 Gast  |
 |
Outlook Mail: Gesendete Mails/Postausgang runterladen |
4 |
ThomasB81 |
2852 |
21. Dez 2006, 14:00 kraemer  |
 |
Outlook Express: Mails in dbx-Format gespeichert - Outlook-Import nicht mögl. |
2 |
JxUxLxIxAxN |
3137 |
24. Aug 2006, 18:32 JxUxLxIxAxN  |
 |
Outlook VBA und Formulare: Outlook 2003 automatisch aktuelles Datum in den Betreff |
2 |
schanz |
3674 |
30. Jun 2006, 06:43 Michael Bauer  |
 |
Outlook VBA und Formulare: Archivierung/Betreff/Empfänger/DATENBANK |
7 |
lalelu |
807 |
07. Jun 2006, 15:31 lalelu  |
| |
|