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-ID: 1137334011

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

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Vision2015
Vision2015 09.08.2021 um 09:20:52 Uhr
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
martenk
martenk 09.08.2021 um 09:28:24 Uhr
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
149062
149062 09.08.2021 aktualisiert um 12:33:29 Uhr
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 ...
martenk
martenk 09.08.2021 um 13:18:07 Uhr
Goto Top
die mails werden in allen ordner nicht mehr angezeigt - also auch die, die von diesem Script gar nicht betroffen sind
149062
149062 09.08.2021 aktualisiert um 13:29:50 Uhr
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).
martenk
martenk 09.08.2021 um 14:06:39 Uhr
Goto Top
wenn ich outlook ohne vba laufen lassen, dann geht es ja - kann dann doch nicht an der mailbox liegen - oder?
martenk
martenk 09.08.2021 um 14:09:28 Uhr
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
149062
Lösung 149062 09.08.2021 aktualisiert um 14:52:47 Uhr
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.
martenk
martenk 09.08.2021 um 15:58:26 Uhr
Goto Top
lieben Dank für deine Hilfe