Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 11259 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 ...

Outlook & Mail
gelöst Outlook vba Email Anhang in Ordner speichern (3)

Frage von Daywalkercxp zum Thema Outlook & Mail ...

Neue Wissensbeiträge
Windows Server

Netzwerkfehler bei HyperV - Host

(1)

Anleitung von Scrises zum Thema Windows Server ...

Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows 7
Bluesreens unternehmensweit (21)

Frage von SYS64738 zum Thema Windows 7 ...