Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
932to936
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
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Mail per VBA in Outlook verschieben
06.12.2007 11:31:00
Sehli
Hi Leute!
Also ich hab folgendes "Problem":
Ich hab ein Makro erstellt mit dem ich mein Excel File als Anhang in einem Mail versende.
Per Userform wähle ich den Empfänger aus, das Mail und der Anhang werden mir jeweils 2Mal ausgedruckt....
Nun will ich, dass das Mail im Outlook automatisch aus den "sent Items" in einen Archiv-Folder verschoben wird...
Ist das irgendwie möglich?

Sub BCC_Senden()
Application.DisplayAlerts = wdAlertsNone
ActiveWorkbook.SaveAs Filename:="C:\Temp\Barcode Compare.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
AWS = ThisWorkbook.FullName
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
UserForm1.Show
Dim StrName As String
strBetreff = Sheets("BCC").Range("ItemCode")
StrName = UserForm1.ComboBox1.Value
.to = StrName
.Subject = Sheets("BCC").Range("ItemCode")
.attachments.Add AWS
.Body = "Hi!" & vbCrLf & vbCrLf & _
"LG sehli "
.send
ActiveWindow.SelectedSheets.PrintOut copies:=2, Collate:=True
Application.DisplayAlerts = wdAlertsAll
ThisWorkbook.Saved = True
Application.Quit
End With
Dim MyOutId As Integer
Dim MyOutFolder As Object
Dim MyOutlook As Object
Dim MySentItem As Object
Set MyOutlook = CreateObject("Outlook.Application")
Set MyOutFolder = MyOutlook.GetNamespace("MAPI").GetDefaultFolder(5)
For MyOutId = 1 To MyOutFolder.Items.Count
Set MySentItem = MyOutFolder.Items(MyOutId)
With MySentItem
If .Subject = strBetreff Then
.PrintOut
.PrintOut
      'Jetzt sollte das Mail in mein Archiv verschoben werden.
Application.DisplayAlerts = wdAlertsAll
End If
End With
Next
End Sub


verzeiht eventuelle umständliche "Umschreibungen" :-) Hab noch nicht viel Erfahrung mit VBA... Hauptsache, es funktioniert *g*
Danke
LG sehli

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mail per VBA in Outlook verschieben
06.12.2007 12:15:00
Kawensmann
Hallo,
der Befehl heißt sinnigerweise "Move", also ungefähr so:

With MySentItem
If .Subject = strBetreff Then
.PrintOut
.PrintOut
.Move DeinArchivOrdner


Gruß
Kawensmann

AW: Mail per VBA in Outlook verschieben
06.12.2007 12:48:29
Sehli
Hi,
ja, das hab ich mir schon gedacht... :-)
Nur klappt das irgendwie nicht... Vielleicht hab ich den Ordner falsch angegeben, kA..
.move .folders("\\2007\Barcode CC\Heute")
Habs in allen möglichen Schreibweisen versucht :-( ...ohne .folders, mit und ohne "Überordner", verschiedener Zeichensetzung, usw....
Wie genau soll ich denn den Meinen Archiv Ordner jetz angeben?
Danke
LG Sehli

Anzeige
AW: Mail per VBA in Outlook verschieben
06.12.2007 12:59:52
Sehli
Kann ich vielleicht auch direkt einen Ordner mit dem Betreff meiner Mail in diesem Verzeichnis erstellen?
Also so, dass das Mail einen eigenen Ordner bekommt (der so heisst, wie eben der Betreff des Mails) und so dann in meinen Archiv Ordner Verschoben wird?
Ich hoffe, das war jetzt irgendwie verständlich erklärt :-)
LG sehli

AW: Mail per VBA in Outlook verschieben
06.12.2007 14:36:13
Kawensmann
Meinst du einen "normalen" Windows-Ordner oder einen Outlook-Mail-Ordner?

AW: Mail per VBA in Outlook verschieben
06.12.2007 14:43:12
Sehli
ne, schon nen Outlook Mail ordner :-D

AW: Mail per VBA in Outlook verschieben
06.12.2007 14:56:00
Kawensmann
Der folgende Code funktiert bei mir:

Dim myOutApp As Object
Dim myNameSpace As Object
Dim myMailFolder As Object
Dim myPrivateFolder As Object
Set myOutApp = CreateObject("Outlook.application")
Set myNameSpace = myOutApp.GetNamespace("MAPI")
Set myMailFolder = myNameSpace.getdefaultfolder(5)
Set myPrivateFolder = myMailFolder.Folders("2007").Folders("Barcode CC").Folders("Heute")


Die 5 bei getdefaultfolder steht für dien SentMail-Ordner, eventuell musst du die ändern (4= Outbox, 16 =Entwürfe, 6= Inbox, 3=deleted Items)
Viel Erfolg
Kawensmann

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige