martenk
Goto Top

Outlook: Emails werden nicht mehr angezeigt

Hallo

habe ein vba Script geschrieben - nun ein Problem - wenn ich das script laufen lassen - werden in allen Ordner die Mails nicht mehr angezeigt

Sub Application_Startup()
On Error Resume Next
Dim myFolder As Outlook.MAPIFolder
Dim myNameSpace As Outlook.NameSpace
Dim OLApp As New Outlook.Application
Dim msg As Outlook.MailItem

 
 
 
 Set myNameSpace = Application.GetNamespace("MAPI")  
 
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox).Folders("Booking")  

Set Application.ActiveExplorer.CurrentFolder = myFolder
Application.GetNamespace("MAPI").GetDefaultFolder (olFolderInbox)  


For Each msg In myFolder.Items
If msg.UnRead Then
var = Left(msg.Subject, 10)
If var = "Neue_Reser" Then  

msg.SaveAs "C:\mails\" & msg.Subject & ".txt", olTXT  
msg.UnRead = False
Else
End If
End If
Next
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set Application.ActiveExplorer.CurrentFolder = myFolder
MoveItems
End Sub

Content-Key: 1137334011

Url: https://administrator.de/contentid/1137334011

Printed on: April 23, 2024 at 19:04 o'clock

Member: Vision2015
Vision2015 Aug 09, 2021 at 07:20:52 (UTC)
Goto Top
Moin...
Zitat von @martenk:

Hallo

habe ein vba Script geschrieben - nun ein Problem - wenn ich das script laufen lassen - werden in allen Ordner die Mails nicht mehr angezeigt

du machst ja sachen.... dann lass mal das script nicht laufen, dann ist ja alles gut face-smile

alternativ kannst du uns ja beschreiben, was du den ereichen möchtest..... ist ja nur so eine idee von mir, mit wir nicht rätseln müssen...

Frank
Member: martenk
martenk Aug 09, 2021 at 07:28:24 (UTC)
Goto Top
Hallo Frank,

das Script macht nur eines - wenn eine Mail in den Ordner Booking kommt, dann speichert es die Mail unter mails ab und verschiet im Anschluss die Mail

Sub MoveItems()
 Dim myNameSpace As Outlook.NameSpace
 Dim myInbox As Outlook.Folder
 Dim myDestFolder As Outlook.Folder
 Dim myItems As Outlook.Items
 Dim myItem As Object
 
 Set myNameSpace = Application.GetNamespace("MAPI")  
 Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox).Folders("Booking")  
 Set myItems = myInbox.Items
 Set myDestFolder = myNameSpace.GetDefaultFolder(olFolderInbox).Folders("PS")  
 Set myItem = myItems.Find("[SenderName] = 'Book'")  
 While TypeName(myItem) <> "Nothing"  
 myItem.Move myDestFolder
 Set myItem = myItems.FindNext
 Wend
End Sub
Mitglied: 149062
149062 Aug 09, 2021 updated at 10:33:29 (UTC)
Goto Top
Emails werden nicht mehr angezeigt
Na wenn du sie verschiebst sind sie nicht mehr da wo sie mal waren, logisch oder?! face-big-smile face-smile

On Error Resume Next
Btw. wäre doch sinnvoll sich die Fehler mal anzeigen zu lassen anstatt sie mit dieser Anweisung still und heimlich weg zu pusten, dann siehst du auch gleich schwarz auf weiß wo dein Problem liegt. Copy n Paste ist eben doch nicht der heilige Gral der Programmierung ...
Member: martenk
martenk Aug 09, 2021 at 11:18:07 (UTC)
Goto Top
die mails werden in allen ordner nicht mehr angezeigt - also auch die, die von diesem Script gar nicht betroffen sind
Mitglied: 149062
149062 Aug 09, 2021 updated at 11:29:50 (UTC)
Goto Top
Zitat von @martenk:

die mails werden in allen ordner nicht mehr angezeigt - also auch die, die von diesem Script gar nicht betroffen sind
Dann hast du einen Ansichtsfilter aktiviert oder deine Mailbox hat einen Knacks.
Sub Application_Startup()
Wenn man das beim Application Start laufen lässt ohne das die Mailbox schon komplett initialisiert ist und das auf Fehler läuft möglich das MAPI absemmelt, also behebe erst mal die offensichtlich groben Fehler wie z.B. in Zeile 16 oben im Script und lass das erst laufen wenn die Session angemeldet ist (MAPILogonComplete Event).
Member: martenk
martenk Aug 09, 2021 at 12:06:39 (UTC)
Goto Top
wenn ich outlook ohne vba laufen lassen, dann geht es ja - kann dann doch nicht an der mailbox liegen - oder?
Member: martenk
martenk Aug 09, 2021 at 12:09:28 (UTC)
Goto Top
wie meinst du das mit MAPILogonComplete Event


weil es muss ja auch laufen, wenn mails in den Ordner kommen, damit es dann auch ausgelöst wird das script
Mitglied: 149062
Solution 149062 Aug 09, 2021 updated at 12:52:47 (UTC)
Goto Top
Zitat von @martenk:

wie meinst du das mit MAPILogonComplete Event
Bidde
https://docs.microsoft.com/de-de/office/vba/api/outlook.application.mapi ...
weil es muss ja auch laufen, wenn mails in den Ordner kommen, damit es dann auch ausgelöst wird das script
Das macht aber dein Skript oben erst recht nicht face-smile, das Application_Startup() Event wird wir der Name schon suggeriert nur einmal beim Start von Outlook ausgelöst!
Wenn du es bei neuen Mails starten willst musst du das aus dem NewMailEx Event heraus starten.
https://docs.microsoft.com/de-de/office/vba/api/outlook.application.newm ...

Findest du hier im Forum auch etliche Beispiele wenn du mit dem Stichwort NewMailEx suchst.
Member: martenk
martenk Aug 09, 2021 at 13:58:26 (UTC)
Goto Top
lieben Dank für deine Hilfe