Anzeige
Archiv - Navigation
1220to1224
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

Wörter auslesen

Wörter auslesen
René
Hallo,
habe hier ein Makro zum Speicher von eingehenden Mails. Es wird im Betreff nach dem Wort Test gesucht.
Kann man das auch erweitern das man auch Mails mit dem Wort Test2 automatisch speichern lassen kann?
Habe alles probiert mit If Zeile Then Go To oder Or und es nichthinbekommen. Habt ihr eine Idee?

Private Sub Application_NewMailEx _
(ByVal EntryIDCollection As String)
Dim arr() As String
Dim i As Integer
Dim ns As Outlook.NameSpace
Dim itm As MailItem
Dim m As Outlook.MailItem
Dim MyBetreff As String
MyBetreff = "Test"
On Error Resume Next
Set ns = Application.Session
arr = Split(EntryIDCollection, ",")
For i = 0 To UBound(arr)
Set itm = ns.GetItemFromID(arr(i))
If itm.Class = olMail Then
Set m = itm
Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1)
myItem.Display
strname = m.Subject
If InStr(1, strname, MyBetreff) = 0 Then
myItem.Close olSave
myItem.UnRead = True
Exit Sub
ElseIf InStr(1, strname, MyBetreff)  0 Then
strname = Replace(strname, ":", " ")
strname = Replace(strname, "/", " ")
End If
Dim strPrompt As String
m.SaveAs "O:\Diagnosen\" & strname & " " & "Datum" & "_" & Day(Date) & "_" & Month(Date) _
_
& "_" & Year(Date) & "_" & "Uhrzeit" & "_" & Hour(Time) & "_" & Minute(Time) & ".msg", olMSG
myItem.Close olSave
myItem.UnRead = True
End If
Next
Set ns = Nothing
Set itm = Nothing
Set m = Nothing
End Sub

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

Betreff
Benutzer
Anzeige
AW: Wörter auslesen
04.07.2011 13:43:22
Dirk
Hallo Rene,
das sollte eigentlich gehen. Wenn aber Deine suchworte Test bzw. Test2 heissen, findet instr 'Test' in beiden Faellen.
Du musst also noch die Laenge deines gefundenen Strings ueberpruefen:
ElseIf InStr(1, strname, MyBetreff) 0 and mid(strname,InStr(1, strname, MyBetreff),len(mybetreff)) = mybetreff then
(ungetesteT)
Sollte eigentlich so gehen
Lass' hoeren, ob ok.
Gruss
Dirk aus Dubai
AW: Wörter auslesen
04.07.2011 13:46:15
René
Hallo Dirk,
gut das Du da bist. Der Code ist ja von Dir entwickelt worden.
Problem ist das nur die Mails gespeichert werden sollen die folgendes enthalten
AW: QS Information aus PZ
WG: QS Information aus PZ
AW: A Beanstandung aus PZ
WG: A Beanstandung aus PZ
Vielleicht hast DU eine Idee. Einmal mit Profis arbeiten.
MfG René
Anzeige
AW: Wörter auslesen
04.07.2011 13:54:48
Rudi
Hallo,
ungetestet:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim arr() As String
Dim i As Integer
Dim ns As Outlook.NameSpace
Dim itm As MailItem, myItem
Dim m As Outlook.MailItem
Dim MyBetreff, vntBetreff As Variant
Dim strName As String
Dim strPrompt As String
Dim bolFound As Boolean
MyBetreff = Array("Test", "Test1")
On Error Resume Next
Set ns = Application.Session
arr = Split(EntryIDCollection, ",")
For i = 0 To UBound(arr)
bolFound = False
Set itm = ns.GetItemFromID(arr(i))
If itm.Class = olMail Then
Set m = itm
Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1)
myItem.Display
strName = m.Subject
For Each vntBetreff In MyBetreff
If InStr(strName, vntBetreff) Then
bolFound = True
strName = Replace(strName, ":", " ")
strName = Replace(strName, "/", " ")
End If
Next vntBetreff
If bolFound Then
m.SaveAs "O:\Diagnosen\" & strName & " " & "Datum" & "_" _
& Format(Now, "DD_MM_YYYY_hh_mm") & ".msg", olMSG
myItem.Close olSave
myItem.UnRead = True
End If
End If
Next
Set ns = Nothing
Set itm = Nothing
Set m = Nothing
End Sub

Gruß
Rudi
Dim immer am Anfang der Prozedur! Nicht mittendrin.
Anzeige
AW: Wörter auslesen
04.07.2011 14:08:48
René
Hallo Rudi und Dirk,
große Dinge enstehen nur weil es Menschen gibt die mehr tun als notwendig ist.
Ganz herzlichen Dank an Euch beide.
MfG René

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige