Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
e-mails nach bestimmten Wörtern im Betreff suchen
zurück: Bedingungen bei Formular weiter: Makro?: Nachrichtenformat ändern, N. ändern + schließen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast



Verfasst am:
16. Jul 2010, 16:20
Rufname:

e-mails nach bestimmten Wörtern im Betreff suchen - e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

hallo.

Ich möchte e-mails automatisch zu den Aufgaben verschieben mit einer Fälligkeit von Heute + 3 Tagen. Das habe ich mit diesem Code hinbekommen:

Code:
Sub ABC(olItem As MailItem)

Dim olTask As Outlook.TaskItem
  'Using object rather than MailItem, so that it
  'can handle posts, meeting requests, etc as well
    Dim olExp As Outlook.Explorer
  Dim fldCurrent As Outlook.MAPIFolder
  Dim olApp As Outlook.Application
 
  Set olApp = Outlook.CreateObject("Outlook.Application")
  Set olTask = olApp.CreateItem(olTaskItem)
  Set olExp = olApp.ActiveExplorer
  Set fldCurrent = olExp.CurrentFolder
 
  Dim cntSelection As Integer
  cntSelection = olExp.Selection.Count
 
  For i = 1 To cntSelection
    Set olItem = olExp.Selection.Item(i)
    olTask.Attachments.Add olItem
    olTask.Subject = "Follow up on " & olItem.Subject
    olItem.Delete
  Next

  olTask.Display
  'Set the due date for today
  olTask.DueDate = Date + 2
  'Set the reminder for 3 hours from now
  olTask.ReminderSet = False
  olTask.ReminderTime = DateAdd("h", 3, Now)
 
  'Saving the task item, so that in case I close it, I won't lose
  'the items which were deleted after being attached to the task
  olTask.Save
End Sub


Dieser Befehl bezieht sich klarerweise auf alle Elemente, die im Posteingang markiert sind. Wie schaffe ich es aber, den Befehl nur auf jene Elemente anzuwenden, die gewisse Wörter im Betreff haben??? Der Fehler liegt meinem Verständnis nach in dieser Zeile, die definiert, nur nach den markierten/ausgewählten mails zu suchen:
Code:
cntSelection = olExp.Selection.Count
.

Danke.
Michael Bauer
MVP Outlook


Verfasst am:
16. Jul 2010, 19:29
Rufname:
Wohnort: Vollersode


AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Schau Dir mal die VBA-Hilfe zur Restrict-Funktion an.
_________________
Michael Bauer
Tools für Microsoft Outlook
Gast



Verfasst am:
19. Jul 2010, 11:42
Rufname:

AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Vielen Dank für den Hinweis mit der Restrict Funktion. Laut VBA Hilfe lässt sich diese jedoch nicht für Betreffzeilen anwenden. Ich bin aber auf die AdvancedSearch Funktion gestossen und habe sie in meinen Code eingebaut. Das funktioniert jetzt zwar, aber merkwürdigerweise erst nach ein paar Minuten. Wenn ich unmittelbar nach erhalt einer mail mit dem Betreff "Test" das Makro laufen lasse, öffnet sich lediglich ein Aufgabenfenster ohne Inhalt. Warte ich jedoch ein paar Minuten und lasse dann das Makro laufen, dann wird das Mail richtigerweise in den Aufgaben-Folder verschoben. Warum ist das so? Kann mir da jemand weiter helfen? Hier der Code:
Code:
Sub WiesoImmerIch()

Dim olTask As Outlook.TaskItem
  'Using object rather than MailItem, so that it
  'can handle posts, meeting requests, etc as well
    Dim olExp As Outlook.Explorer
  Dim fldCurrent As Outlook.MAPIFolder
  Dim olApp As Outlook.Application
 Dim olItem As MailItem
 
 
  Set olApp = Outlook.CreateObject("Outlook.Application")
  Set olTask = olApp.CreateItem(olTaskItem)
  Set olExp = olApp.ActiveExplorer
  Set fldCurrent = olExp.CurrentFolder
 
 

   Dim sch As Outlook.Search
    Dim rsts As Outlook.Results
    Dim i As Integer
   
    Const strF As String = "urn:schemas:mailheader:subject = 'Test'"
    Const strS As String = "Inbox"
    Set sch = Application.AdvancedSearch(strS, strF, “Test”)
   
   
   
    Set rsts = sch.Results
    For i = 1 To rsts.Count
   
 
    Set olItem = rsts.Item(i)
    olTask.Attachments.Add olItem
           
    olTask.Attachments.Add olItem
    olTask.Subject = "Follow up on " & olItem.Subject
     
  Next
  olTask.Display
  'Set the due date for today
  olTask.DueDate = Date + 2
  'Set the reminder for 3 hours from now
  olTask.ReminderSet = False
  olTask.ReminderTime = DateAdd("h", 3, Now)
   
 
End Sub
Michael Bauer
MVP Outlook


Verfasst am:
20. Jul 2010, 11:20
Rufname:
Wohnort: Vollersode

AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Die Suche löst ein Ereignis aus, wenn es fertig ist. Schau mal in den Objektkatalog (f2), wähle links Application, rechts das Ereignis "AdvancedSearchComplete", drücke dann f1.
_________________
Michael Bauer
Tools für Microsoft Outlook
Gast



Verfasst am:
20. Jul 2010, 14:04
Rufname:


AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

hallo michael.

Ich bin über die VBA-Hilfe auf die advancedsearch-Funktion gestossen und habe mit meinen äusserst Bescheidenen Kenntnissen versucht, diese für meine Zwecke anzupassen und in den Code einzuarbeiten. Vereinfacht ausgedrückt versuche ich dem Outlook folgendes mitzuteilen:

1) Durchsuche den Betreff eines jeden Mails im Posteingang nach dem Wort "Test";
2) Nimm jedes zutreffende Mail und stecke es in den Body einer Aufgabe;
3) Gib dieser Aufgabe den Namen: "Follow up on [Betreff]";
4) Setze ein Fälligkeitsdatum von: Empfangsdatum + 2 Tage;
5) Speicher und schliesse das Fenster.

Paradoxerweise funktioniert das auch mit meinem Code, nur eben sporadisch. Manchmal öffnet er einfach nur ein leeres Aufgabenfenster und manchmal offnet er ein Aufgabenfenster mit dem Mail im Body und einem richtig gesetzten Fälligkeitsdatum.

Kannst du mir vielleicht behilflich sein? Vielen Dank jedenfalls für dein Bemühen.
Michael Bauer
MVP Outlook


Verfasst am:
21. Jul 2010, 09:58
Rufname:
Wohnort: Vollersode

AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Hallo,

wie gesagt, Du verwendest die Suche falsch: Erst wenn das genannte *Complete-Ereignis ausgelöst wird, ist die Suche abgeschlossen, d.h. vorher wird es kein zuverlässiges Ergebnis liefern. Ein Beispiel steht in der VBA-Hilfe.

Dass bei Deinem Code manchmal ein leeres Fenster geöffnet wird, liegt daran, dass Du die Aufgabe auf jeden Fall erstellst, also auch dann, wenn die Suche kein Ergbnis liefert.

_________________
Michael Bauer
Tools für Microsoft Outlook
Gast



Verfasst am:
21. Jul 2010, 14:35
Rufname:

AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Michael, was würde ich nur ohne dich tun Razz . Herzlichen Dank für deine Hilfe. Ich versuche das ganze zwar selber hinzubekommen und verbringe unzählige Stunden in der VBA-Hife, aber dennoch ist das für einen blutigen Anfänger wie mich eine Spur zu hoch. Ohne deine Hilfe bin ich aufgeschmissen!

Mein Fehler war, dass ich den Code in einem Modul eingefügt habe und nicht in unter "ThisOutlookSession". Das ganze funktioniert soweit. Dennoch tun sich, wie könnte es anders sein, zwei neue Probleme auf:

1) Wie muss ich diese Zeile abändern, damit es reicht, dass das Wort "Test" einfach nur im Betreff vorkommt.
Code:
Const strF As String = "urn:schemas:mailheader:subject = 'Test'"

So wie es jetzt ist, muss der Betreff ausschliesslich "Test" lauten, damit die Nachricht verschoben wird, bei "Test 123" funktioniert es gleich nicht mehr. Ich habe schon versucht mit (Jet-)Filtern zu arbeiten, hab das aber nicht auf die Reihe gebracht.

2) Was muss ich tun, damit sich der Vorgang solange wiederholt, bis auch wirklich das LETZTE Mail mit "Test" im Betreff verschoben wurde. Mit dem jetzigen Code macht er das nur mit dem ersten relevanten Mail und hört dann auf.

Hier der Code:
Code:
Public blnSearchComp As Boolean

Private Sub Application_AdvancedSearchComplete(ByVal SearchObject As Search)
    MsgBox "Eine Nachricht von XYZ ist eingetroffen"
    blnSearchComp = True
End Sub

Sub Gehtschonbald()
    Dim sch As Outlook.Search
    Dim rsts As Outlook.Results
    Dim i As Integer
    blnSearchComp = False
    Dim olTask As Outlook.TaskItem
    Dim olExp As Outlook.Explorer
  Dim fldCurrent As Outlook.MAPIFolder
  Dim olApp As Outlook.Application
  Dim olItem As MailItem
  Dim strFilter As String
   
 
  Set olApp = Outlook.CreateObject("Outlook.Application")
  Set olTask = olApp.CreateItem(olTaskItem)
  Set olExp = olApp.ActiveExplorer
  Set fldCurrent = olExp.CurrentFolder
     
   
    Const strF As String = "urn:schemas:mailheader:subject = 'Test'"

    Const strS As String = "Inbox"
    Set sch = Application.AdvancedSearch(strS, strF)
    While blnSearchComp = False
        DoEvents
    Wend
    Set rsts = sch.Results
    For i = 1 To rsts.Count
        Set olItem = rsts.item(i)
    olTask.Attachments.Add olItem
    olTask.Subject = "Follow up on " & olItem.Subject
   
 
  Next

 
  olTask.DueDate = olItem.ReceivedTime + 2
 
  olTask.ReminderSet = False
  olTask.ReminderTime = DateAdd("h", 3, Now)
 
 
  olTask.Save
End Sub
dasemmlfritz
Kann VBA!...-Codes kopieren


Verfasst am:
21. Jul 2010, 15:19
Rufname:

AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Zu 1):

Betreff aulesen und mit InStr überprüfen ob vorhanden?

strMailBetreff = objMail.Subject

If InStr(strMailBetreff, "Test") <> 0 Then
blabla

Denke das sollte so hinhaun...aber es sucht jetzt nur nach großes T est, gibt aber einen befehl der alle großen Buchstaben, klein macht....musst mal googeln

MFG und hoffe das passt für 2) kenn ich mich zu wenig aus
Gast



Verfasst am:
21. Jul 2010, 15:40
Rufname:

AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Hallo dasemmlfritz

Danke für deine Antwort! Ich verstehe was du meinst, nur schaffe es irgendwie nicht, das in meinen code einzubauen. Ich brauche doch diese drei Zeilen für eine Advancedsearch-Funktion, oder?:

Code:
Const strF As String = "urn:schemas:mailheader:subject = 'Test'"
    Const strS As String = "Inbox"
    Set sch = Application.AdvancedSearchComplete(strS, strF, “Test”)


Wie soll ich da eine If Funktion reinbringen? Kannst du mir bitte eine genauere Anweisung geben, wie da vorzugehen ist (wie gesagt, ich bin ein Laie auf diesem Gebiet).

Merci!
dasemmlfritz
Kann VBA!...-Codes kopieren


Verfasst am:
21. Jul 2010, 15:53
Rufname:


AW: e-mails nach bestimmten Wörtern im Betreff suchen - AW: e-mails nach bestimmten Wörtern im Betreff suchen

Nach oben
       Version: Office 2007

Ich mach das auch erst seit 4 Tagen...wusst nichtmal was Dim bedeuted Very Happy
kA was eine Advancedsearch-Funktion ist, aber wenn ich würde es mit einer Schleife probieren, die die ganzen Mails durch rennt, Betreff ausliest und halt diesen überprüft...weiß nicht, ob das so möglich ist
Große Hilfe war das jetzt nicht, aber vielleicht hab ich dir ja einen Denkanstoß gegeben ;)

edit: Achso versteh schon, was du machen willst, aber wie gesagt, kenn mich halt mit Advancedsearch-Funktion nicht aus...aber das mit dem Durchrennen müsste funktionieren...google mal nach nem Code

MFG

Ps.: Vielleicht erzähl ich hier absoluten Müll(sry), aber hoffe, es hilft dir weiter
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
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 
Keine neuen Beiträge Outlook Mail: Emails nach Festplattenabsturz wieder importieren 1 LoneRider 1029 30. Sep 2005, 10:31
kraemer Emails nach Festplattenabsturz wieder importieren
Keine neuen Beiträge Outlook Mail: Emailanhang entspr. Betreff in Ordner verschieben 6 GeorgB 1501 01. Aug 2005, 07:41
GeorgK Emailanhang entspr. Betreff in Ordner verschieben
Keine neuen Beiträge Outlook Mail: E-Mails auf Server belassen? 2 Malte123 1110 18. Jun 2005, 22:11
Nicki Wruck E-Mails auf Server belassen?
Keine neuen Beiträge Outlook Mail: Versendung von E-Mails im Auftrag einer anderen Person??? 4 Gast 16869 16. Jun 2005, 17:50
Yyoshii Versendung von E-Mails im Auftrag einer anderen Person???
Keine neuen Beiträge Outlook Mail: E-Mails beim Provider und lokal anzeigen?? geht das? 4 JR-gast 890 12. Mai 2005, 16:39
wolf-it E-Mails beim Provider und lokal anzeigen?? geht das?
Keine neuen Beiträge Outlook Mail: Emails werden trotz abrufen immer wieder abgerufen 2 sven0024 1618 16. Feb 2005, 14:07
jkrde Emails werden trotz abrufen immer wieder abgerufen
Keine neuen Beiträge Outlook Mail: outlook-exchange suchen inkl. unterordner nicht möglich 4 strahlen 3761 10. Feb 2005, 10:17
strahlen outlook-exchange suchen inkl. unterordner nicht möglich
Keine neuen Beiträge Outlook Mail: Sichern der emails wenn man den rechner neu aufsetzen will 8 hexedei 2641 09. Feb 2005, 22:25
Christi@n Sichern der emails wenn man den rechner neu aufsetzen will
Keine neuen Beiträge Outlook Mail: E-Mails mit Anhang drucken?? 2 Realers 1006 17. Dez 2004, 12:36
Realers E-Mails mit Anhang drucken??
Keine neuen Beiträge Outlook Mail: Abgeholte Emails in GMX trotzdem bestehen lassen. 2 Triple H 1600 22. Nov 2004, 11:23
Triple H Abgeholte Emails in GMX trotzdem bestehen lassen.
Keine neuen Beiträge Outlook Mail: kann emails empfangen aber nicht versenden 1 Mario.H 8492 02. Nov 2004, 16:10
Apehanger kann emails empfangen aber nicht versenden
Keine neuen Beiträge Outlook Mail: Emails nach China werden nicht gesendet !!! 1 Drunken 1835 29. Okt 2004, 10:53
tinaXX Emails nach China werden nicht gesendet !!!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editoren Forum