Hallo,
mein Problem paßt in mehrere Forenthemen. Habe mich für dieses entschieden. Ich würde gerne ein Programm (Makro, Regel) schreiben, das
-wenn bei Outlook 2002 eine neue Mail im Posteingang eingeht, automatisch eine Kopie in einem ganz normalen Windowsordner erzeugt wird
-wenn bei Outlook 2002 eine neue Mail im Posteingang von einem bestimmten Absender, z. B. ebay (ist ja am Absender zu erkennen) eingeht, ebenfalls eine Kopie der Mail automatisch in einem Windowsordner angelegt wird
-wenn in einem bestimmten Windowsordner eine neue Datei kopiert/angelegt wird, ebenfalls automatisch eine Kopie in einem bestimmten Windowsordner angelegt wird
Also 3 ähnliche Aufgaben. Wer kann mir einen Tipp oder eine Anleitung geben. Danke für die Hilfe.
Gruß
Richard
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Schau zunächst, ob das mit Regeln hinzukriegen ist.
Ansonsten kämen 2 VBA-Wege in Frage, die im Kern aber dasselbe machen.
Insb. durch den Zugriff auf SenderName wirst du mit der Ol-Sicherheitsabfrage konfrontiert (die geringere => dies also event. besser einer Regel überlassen).
Alle Varianten bedingen den laufenden Client.
Deine 3. Anfrage hat - trotz scheinbarer Ähnlichkeit - nichts mit den anderen zu tun und dürfte zumindest nicht ganz so automatisch möglich sein. Ein Verzeichnis unter NTFS kann zwar überwacht werden, aber Aktionen auslösen??? Hier könnte stattdessen z.B. ein at-Job ansetzen, der ein entspr. Script anstösst.
Ein knappes Bsp. für eine VBA-Prozedur in bel. Ol-Modul. Diese Variante kann dann mit einer simplen Regel kombiniert werden, als Aktion "Script ausführen" wählen (=> es wird der Name der Routine angeboten) und keine zusätzlichen Verschiebereien.
Sub SaveEveryIncomingMail(objMail As MailItem)
' nur für Nachrichten, Besprechungsanfragen müssen ggf. separat behandelt werden
Dim sSave As String
Const ksPfad = "U:\Test\"
sSave = objMail.Subject
' jetzt sollten (v.a. wenn am Betreff angesetzt) alle Checks für gültige Dateinamen folgen, stattdessen hier nur msgbox
' auch können bel. andere Dinge für den Dateinamen herangezogen werden
On Error Resume Next
objMail.SaveAs ksPfad & sSave & ".msg" ' optional + Dateityp
If Err 0 Then
MsgBox "Fehler beim Versuch, die Nachricht " _
& Chr(34) & objMail.Subject & Chr(34) & " ins Dateisystem zu speichern!", vbExclamation, "SaveEveryIncomingMail"
End If
End Sub
Zu den Ol-Geschichten s. event. auch MS, z.B.:
http://support.microsoft.com/default.aspx?scid=kb;en-us;235852&Product=out
http://support.microsoft.com/default.aspx?scid=kb;en-us;306108&Product=out
Danke Uli
für die Antwort. Leider verstehe ich nur Bahnhof. Bisher habe ich eine Regel, die den Posteingang von bestimmten Absendern in einen bestimmten Ordner in den Persönlichen Ordnern im Outlook verschieb. Ist ja schon mal nicht schlecht. Nur sollte es ein ganz normaler Windowsordner sein. Gibts dazu evtl. einen einfachen Trick?
Gibts für das autom. Anlegen einer Kopie auch eine einfache Lösung?
Gruß
Richad
Nun weiss ich natürlich auch nicht, wie ich deinen Zug anschieben soll.
Hast du die KB-Artikel gelesen?
Da der Ol-Assi keine Möglichkeit bietet, Elemente ins Dateisystem zu speichern, musst du auf was selbst entwickeltes ausweichen. Natürlich sind immer auch andere Alternativen denkbar, z.B. eine Routine, die du zu bel. Zeit anstossen kannst und die alle Elemente im Ordner xy ins Dateisystem speichert, die eine best. Bedingung erfüllen und danach diese Bedingung setzt (z.B. ein extra Feld für diese Aktion). Eine solche Routine müsste dann auch nicht in Ol implementiert sein.
Wenn du mein Bsp. testen willst:
in Ol:
1. Extra - Makros - Sicherheit => Mittel
2. Alt+F11 => VBA-Editor, Einfügen - Modul, Code rein kopieren, den Pfad ("U:\Test") anpassen), ggf. Debuggen - Kompilieren
3. wieder zu Ol wechseln, Regelassi mit bel. Filter, als Aktion "Script ausführen" und das angebotene bestätigen
4. Test-Nachricht an dich selbst
Zu deinem 3:
Vielleicht ist ja die Verwendung des Aktenkoffers für dich eine brauchbare Alternative - musst dann halt ab und an von Hand synchronisieren. Eine "einfache" Lösung wüsste ich sonst nicht, wobei ein solches Script + der at-Job auch nichts Weltbewegendes wär.
Vielen Dank. Das mit den Mail funkioniert soweit. Posteingang wird verglichen -> Absender bekannt -> Mail wird in Windowsordner kopiert. Der 3. Punkt ist monentan nicht ganz so wichtig. Werde mich damit später befassen.
Gruß
Richard
Jetzt hab ich aber mal eine Frage:
Posteingang wird verglichen -> Absender bekannt?
Ist wohl der Filter "Versender im Adressbuch ... vorkommt"?
Wenn dir das reicht und du nur 1 hast, ist's ok.
Wenn nicht, wie machst du's dann?
Hallo,
ja die Mails sind immer vom selben Absender, der auch im Adressbuch steht. Verwende den Filter: "Neue Nachricht bestimmter Personen verschieben". Das Ganze mit Outlook 2002.
Gruß
Richard
Das ist dann ein anderer Filter (beim Adressbuch-Filter geht nämlich nur 1)
Das Makro habe ich übrigens entsprechend deiner Frage 1 benannt, also für alle Eingänge gedacht. Natürlich kann auch die Routine bzw. eine ähnliche Absender prüfen (dann allerdings mit Sicherheitsabfrage) und dann flexibel reagieren. Wenn dir's so aber reicht, ist's ja auch ok.