Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

OUTLOOK 2003 VBA Mails kopieren auf Festplatte

Frage Entwicklung VB for Applications

Mitglied: runner-ralf

runner-ralf (Level 1) - Jetzt verbinden

22.07.2008, aktualisiert 24.07.2008, 11309 Aufrufe, 8 Kommentare

Hallo alle zusammen,

ich will mit Outlook VBA alle Mails im Ordner "test.pst" aus dem Ordner "Eingang" auf die Festplatte D:\archive mit dem Datum´, Uhrzeit und dem Betreff als Dateiname speichern. Ich krieg es einfach nicht hin.

Dim objOutlook
Dim objnSpace
Dim objFolder
Dim objmail
Dim objNewMail As MailItem


Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = objnSpace.Folders("Kerstin").Folders("merken")


For Each objNewMail In objFolder.Items
With objNewMail
.Copy ????????
End With
Next

Einen schönen Gruß


Ralf Dorn
Mitglied: Logan000
22.07.2008 um 13:39 Uhr
Moin

Als erstes würde ich dir zum Entwickelm empfehlen einen Verweis auf die Microsoft Outlook Object Library zu setzen.
Dann könntest du das so machen: (Ungetestet!!)
01.
Dim objOutlook As Outlook.Application 
02.
Dim objnSpace As Outlook.NameSpace 
03.
Dim objFolder As Outlook.MAPIFolder 
04.
Dim objNewMail As Outlook.MailItem 
05.
Dim Filename as String  
06.
 
07.
Set objOutlook = CreateObject("Outlook.Application") 
08.
Set objnSpace = objOutlook.GetNamespace("MAPI") 
09.
Set objFolder = objnSpace.Folders("Kerstin").Folders("merken") 
10.
For Each objNewMail In objFolder.Items 
11.
 
12.
With objNewMail 
13.
     Filename = CStr(.SendOn) & " " & CStr(.Subject) & ".msg" 
14.
    .SaveAs ("C:\MeinPfad\" & Filename ) 
15.
End With 
16.
Next 
Gruß L.
Bitte warten ..
Mitglied: runner-ralf
22.07.2008 um 14:41 Uhr
Hallo Logan000,

hat fast geklappt. Einmal SentOn und nicht Sendon und das Zweite ist, das er nach .save einen Laufzeitfehler bringt. Außerdem kommt die lästige Frage mit "Ein Programm versucht auf Daten von Outlook zuzugreifen....."

Laufzeitfehler -1767702276 (96a300FC)
Fehler beim ausführen der Operation

Code:

With objNewMail

Filename = CStr(.SentOn) & "_" & CStr(.Subject) & ".msg"
.SaveAs ("D:\outlook\" & Filename)

End With

Fällt dir noch was ein??

Gruß

Ralf

PS: Verweis auf Objekt war schon gesetzt.
Bitte warten ..
Mitglied: Logan000
22.07.2008 um 14:55 Uhr
Probiers mal so:
01.
... 
02.
    .SaveAs "D:\outlook\" & Filename, olMSG 
03.
...
Außerdem kommt die lästige Frage mit "Ein Programm versucht auf Daten von Outlook zuzugreifen....."
Nun das ist ja auch richtig.

Evtl. hilft dier dieser Link weiter.

Gruß L.
Bitte warten ..
Mitglied: runner-ralf
22.07.2008 um 15:01 Uhr
mpmmmhhh,

habe ich auch schon probiert, auch

"c:\temp\" & Filename, olMSG

funktioniert nicht.



kompletter Code:

Sub Mails_archivieren()

Dim objOutlook As Outlook.Application
Dim objnSpace As Outlook.NameSpace
Dim objFolder As Outlook.MAPIFolder
Dim objNewMail As Outlook.MailItem
Dim Filename As String

Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = objnSpace.Folders("Kerstin").Folders("merken")
For Each objNewMail In objFolder.Items

With objNewMail

Filename = CStr(.SentOn) & "_" & CStr(.Subject) & ".msg"
.SaveAs "c:\temp\" & Filename, olMSG
End With

Next

End Sub



Gruß

Ralf
Bitte warten ..
Mitglied: runner-ralf
22.07.2008 um 18:20 Uhr
Hallo,

entschuldige, dass ich dich noch einmal belästige. Ich weiß jetzt woran es liegt. In der Betreff Zeile sind manchmal Hochkomme, Leerzeichen, Fragezeichen usw. Außerdem im Datum und Zeit Punkte und Doppelpunkte.

Das datu und die Zeit habe ich schon angepasst mit Format aber beim Betreff weiß ich nicht wie ich die Leerzeichen und eventuelle Sonderzeichen rauskriegen soll.

Weißt du da was?

Gruß

Ralf
Bitte warten ..
Mitglied: Logan000
23.07.2008 um 13:08 Uhr
Moin

Mit Replace solte das gehen. Etwa so:
01.
... 
02.
strSubject = Replace(strSubject," ","")  ' Leerzeichen ersetzen 
03.
strSubject = Replace(strSubject,"'","")  ' Hochkomma ersetzen 
04.
usw. 
05.
...
Gruß L.
Bitte warten ..
Mitglied: runner-ralf
23.07.2008 um 17:09 Uhr
Hallo L.,

vielen Dank. Jetzt funktioniert alles.

Einen schönen Gruß aus Bayern

Ralf
Bitte warten ..
Mitglied: Logan000
24.07.2008 um 10:11 Uhr
Das ist cool.
Sei doch bitte so nett und setze den Beitrag auf erledigt.

Schönen Gruß zurück vom anderen Ende
L.
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA Tabelleblätter kopieren und Umbenennnen (8)

Frage von Florian86 zum Thema Microsoft Office ...

Microsoft Office
VBA Code zum Kopieren von einzelnen Zellen in Excel (3)

Frage von SebastianL zum Thema Microsoft Office ...

Batch & Shell
Dateien von Wechsel Datenträger auf Festplatte kopieren (2)

Frage von DonJoe zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(9)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...