Thema Datum  Von Nutzer Rating
Antwort
Rot Outlook-VBA: Ordner anlegen und dann Mailitem verschieben
15.06.2017 10:28:25 F
NotSolved
15.06.2017 11:29:17 Gast67390
NotSolved

Ansicht des Beitrags:
Von:
F
Datum:
15.06.2017 10:28:25
Views:
310
Rating: Antwort:
  Ja
Thema:
Outlook-VBA: Ordner anlegen und dann Mailitem verschieben

Hallo,
erstmal ein Riesen-Dankeschön an die ganzen Leute, die hier immer so fleißig antworten! Ich habe hunderte Threads gelesen und viele davon waren extrem hilfreich für mich!

Zu meiner Frage.

Ich habe für Outlook ein kleines VBA-Skript, das ich ausführen möchte. Es soll eine Mail in einen bestimmten Ordner kopieren, oder, wenn dieser nicht existiert, ihn erst anlegen und dann verschieben bzw. kopieren.

Durch das Ereignis

 Items_ItemAdd wird folgende funktion aufgerufen mit
Call MailkopierenJob(Item, Jobnr):

 


Private Sub MailkopierenJob(Item As Outlook.MailItem, Jobnr)

'das hier ist alles etwas chaotisch .. habe mich schon Stunden damit aufgehalten..
Dim myNameSpace As Outlook.NameSpace
 Dim myFolder As Outlook.Folder
 Dim myNewFolder As Outlook.Folder
Dim myDestFolder As Outlook.Folder
 Dim myCopiedItem As Outlook.MailItem
 
  
 
 Set myNameSpace = Application.GetNamespace("MAPI")
 
 Set myFolder = myNameSpace.Folders("Info").Folders("Inbox").Folders("Jobs")
 
 'Prüfen, ob bereits ein Ordner existiert:
 
 
Dim OrdnerExistiert As Boolean
Dim i As Integer
 
For i = 1 To myFolder.Folders.Count
   
   If myFolder.Folders.Item(i).Name = Jobnr Then
           
         Set myCopiedItem = Item.Copy
         Set myDestFolder = myFolder.Folders(Jobnr)
         myCopiedItem.Move myDestFolder
        MsgBox "Exisitert - verschoben" ' das funktioniert!
        Exit Sub
    End If
Next

'in den folgenden zwei Zeilen ist irgendwie der Wurm drin. Wenn das Skript erkannt hat, dass der Ordner nicht exisitert wird er angelegt - funktioniert:
Set myNewFolder = myFolder.Folders.Add(Jobnr)

'das hatte ich ausprobiert:
'Set myNewFolder = Nothing

'so oder so meckert er dann hier, das der Ordner nicht existiere (außerhalb des zulässigen Bereichs)
Set myNewFolder = myFolder.Folders(Jobnr)



    
Set myCopiedItem = Item.Copy
myCopiedItem.Move myNewFolder
MsgBox "Exisitert nix - verschoben"

  
    
End Sub

 

Was mache ich falsch?

Dankeschön!!

F


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot Outlook-VBA: Ordner anlegen und dann Mailitem verschieben
15.06.2017 10:28:25 F
NotSolved
15.06.2017 11:29:17 Gast67390
NotSolved