Top-Themen

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

Frage Entwicklung Batch & Shell

Outlook Attachments....nicht alle werden gespeichert

Mitglied: Dpole86

Dpole86 (Level 1) - Jetzt verbinden

08.08.2014 um 11:26 Uhr, 779 Aufrufe, 5 Kommentare

Hallo zusammen

ich versuche mich gerade in VBA.

Allerdings habe ich das Problem das nicht alle Attachments gespeichert werden.
Duplicate werden einfach ausgelassen

Mein Code

01.
 
02.
Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
03.
Dim objAtt As Outlook.Attachment 
04.
Dim saveFolder As String 
05.
Dim dateFormat 
06.
dateFormat = Format(Now, "yyyy-mm-dd H-mm") 
07.
If Dir("C:\Temp", vbDirectory) = "" Then 
08.
  MkDir ("C:\Temp") 
09.
Else 
10.
saveFolder = "c:\temp\" 
11.
     For Each objAtt In itm.Attachments 
12.
          objAtt.SaveAsFile saveFolder & "\" & dateFormat & "-" & objAtt.DisplayName 
13.
          Set objAtt = Nothing 
14.
     Next 
15.
End If 
16.
End Sub 
17.
 
Was mache ich falsch? bzw was fehlt mir den damit der Code Funktioniert?
Mitglied: colinardo
08.08.2014, aktualisiert um 11:50 Uhr
Zitat von Dpole86:
Duplicate werden einfach ausgelassen
Was mache ich falsch? bzw was fehlt mir den damit der Code Funktioniert?
irgendwie logisch das wenn eine Datei schon im Dateisystem existiert, diese nicht erneut von der SaveAsFile-Funktion unter dem gleichen Namen abgespeichert werden kann. Das musst du voher überprüfen und gegebenenfalls einen neuen Namen dafür generieren bzw. einfach eine Nummer anhängen. z.B. so:

01.
.. 
02.
... 
03.
.... 
04.
dim fso 
05.
set fso = CreateObject("Scripting.FilesystemObject") 
06.
For Each objAtt In itm.Attachments 
07.
   filename =  saveFolder & "\" & dateFormat & "-" & objAtt.Filename 
08.
   number = 1 
09.
   while fso.FileExists(filename) 
10.
      filename =  saveFolder & "\" & dateFormat & "-" & fso.GetBasename(objAtt.Filename) & "(" & number & ")." & fso.GetExtensionName(objAtt.Filename) 
11.
      number = number + 1 
12.
   Wend 
13.
   objAtt.SaveAsFile filename 
14.
   Set objAtt = Nothing 
15.
Next
Grüße Uwe

11:50 : -edit- Fehler in Zeile 10 korrigiert
Bitte warten ..
Mitglied: Dpole86
08.08.2014 um 11:50 Uhr
Hi Uwe

Vielen Dank für deine Antwort

mein Code bringt jetzt einen Fehler

und sieht folgendermassen aus

01.
  
02.
Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
03.
Dim objAtt As Outlook.Attachment 
04.
Dim saveFolder As String 
05.
Dim dateFormat 
06.
Dim fso 
07.
 
08.
dateFormat = Format(Now, "yyyy-mm-dd H-mm") 
09.
If Dir("C:\Temp", vbDirectory) = "" Then 
10.
  MkDir ("C:\Temp") 
11.
Else 
12.
 
13.
saveFolder = "c:\temp\" 
14.
Set fso = CreateObject("Scripting.FilesystemObject") 
15.
     For Each objAtt In itm.Attachments 
16.
   FileName = saveFolder & "\" & dateFormat & "-" & objAtt.FileName 
17.
   Number = 1 
18.
   While fso.FileExists(FileName) 
19.
      FileName = saveFolder & "\" & dateFormat & "-" & fso.GetBasename(objAtt.FileName) & "(" & Number & ")." & fso.GetExtensionName 
20.
      Number = Number + 1 
21.
   Wend 
22.
   objAtt.SaveAsFile FileName 
23.
   Set objAtt = Nothing 
24.
   Next 
25.
End If 
26.
End Sub
ich denke ich habe was falsch gemacht
Bitte warten ..
Mitglied: colinardo
08.08.2014, aktualisiert um 11:53 Uhr
hatte einen kleinen Fehler in Zeile 10 meines Codes korrigiert, s.o.
Bitte warten ..
Mitglied: Dpole86
08.08.2014 um 12:03 Uhr
Hey Ja das war es

noch eine Frage an dich Uwe.

wenn ich jetzt das Datum nicht vor, sondern hinter der Datei haben möchte,

Ok ich habs glaub verbockt ^^

01.
Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
02.
Dim objAtt As Outlook.Attachment 
03.
Dim saveFolder As String 
04.
Dim dateFormat 
05.
Dim fso 
06.
 
07.
dateFormat = Format(Now, "yyyy-mm-dd H-mm") 
08.
If Dir("C:\Temp", vbDirectory) = "" Then 
09.
  MkDir ("C:\Temp") 
10.
Else 
11.
 
12.
saveFolder = "c:\temp\" 
13.
Set fso = CreateObject("Scripting.FilesystemObject") 
14.
     For Each objAtt In itm.Attachments 
15.
   FileName = saveFolder & "\" & dateFormat & "-" & objAtt.FileName 
16.
   Number = 1 
17.
   While fso.FileExists(FileName) 
18.
      FileName = saveFolder & "\" & fso.GetBasename(objAtt.FileName) & dateFormat & "." & fso.GetExtensionName(objAtt.FileName) 
19.
      Number = Number + 1 
20.
   Wend 
21.
   objAtt.SaveAsFile FileName 
22.
   Set objAtt = Nothing 
23.
   Next 
24.
End If 
25.
End Sub


Ich wollte das es so aussieht

briefkopf-212014-08-08 11-59.tif

Grüße Roman
Bitte warten ..
Mitglied: colinardo
08.08.2014, aktualisiert um 12:09 Uhr
einmal hier (in deinem Code Zeile 15)
filename =  saveFolder & "\" & fso.GetBasename(objAtt.Filename) & "-" & dateFormat & "." & fso.GetExtensionName(objAtt.Filename) 
und dann noch hier in der while-Schleife
filename =  saveFolder & "\" & fso.GetBasename(objAtt.Filename) & "-" & dateFormat & "(" & number & ")." & fso.GetExtensionName(objAtt.Filename) 
btw. mach in Zeile 12 noch bei
savefolder = "c:\Temp\"
den abschließenden Backslash weg ....
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Terminalserver Outlook Installation: öffnet keine attachments
Frage von seventowerMicrosoft Office7 Kommentare

Moin, ein HYPER-V Host Windows 2012 Datacenter drei VM : DC, ES, Terminalserver(RDS) auf dem RDS Office 2013 Professional ...

Outlook & Mail
Outlook 2013 Attachment in Kalendereintrag nicht sichtbar
Frage von xbast1xOutlook & Mail5 Kommentare

Hallo zusammen, kurioses Verhalten. Ein Mitarbeiter erstellt einen Termin und zieht eine E-Mail in den Termin. Gewöhnlich ist das ...

Outlook & Mail
Sicheres Öffnen von Office-Attachments in Outlook
gelöst Frage von donnyS73lbOutlook & Mail3 Kommentare

Hallo zusammen, ich möchte fragen, ob es in älteren Versionen von Outlook (bspw. 2007) die Möglichkeit gibt, einzustellen, dass ...

Exchange Server
Gespeicherte Empänger in Outlook
gelöst Frage von uLmiExchange Server5 Kommentare

Hallo Zusammen, ich sehe immer wieder ein Problem in einer Exchange / Outlook-Umgebung und wollte euch mal Fragen wie ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 12 StundenRouter & Routing2 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 19 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 1 TagMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...