Jul 212011
 

Was tun, wenn die Frau, die mal die Schwiegermutter werden soll, fragt, ob man es nicht vereinfachen könnte, die vielen Fotos aus den E-Mails in ihren Bilder-Ordner zu verfrachten?

Zuerst hab ich in Outlook nach der Funktion gesucht, die auf Knopfdruck alle Anhänge einer E-Mail in einem auszuwählenden Ordner abspeichert und musste feststellen: es gibt sie nicht oder sie ist verdammt gut versteckt. Außerdem ist ja auch lästig, DEN Ordner (ja, immer der selbe) immer wieder neu auszuwählen und alle Mails einzeln abzuarbeiten, also mal schnell einen Blick riskiert, ob man dafür nicht ein schnelles Makro zaubern könnte.

Et voilà, hier ist es:

Sub UnterFotosSpeichern()
  Dim Ordnername As String   
  Dim objMail As MailItem    
  On Error Resume Next   
  Ordnername = "zB ein absoluter Pfad zum Ordner"   
  For Each objMail In Application.ActiveExplorer.Selection     
    For Each attachedFile In objMail.Attachments        
      attachedFile.SaveAsFile Ordnername & "\" & attachedFile.FileName     
    Next attachedFile    
  Next objMail  
End Sub 

Der Clou dabei: es können gleich mehrere Mail markiert werden und alle Attachments werden “abgesaugt”.

Alternativ könnte man natürlich einen beliebigen Ordner auswählen lassen, oder einen anhand der Datei-Datumsinformation einen Unterordner oder die Mails hinterher noch löschen oder verschieben usw… aber das war hier gerade nicht beabsichtigt.

Und das ganze ging echt schnell, für solche kleinen Nettigkeiten ist VB zugegebenermaßen echt brauchbar, auch wenn mir C# wesentlich besser von der Hand geht.

 


*Sorry, es war stärker als ich. Sollte meinen: Hoppla, da hab ich doch nach langer Zeit nochmal einen ungewollten Ausflug in die Welt von Visual Basic (VB) for Applications gemacht.

  One Response to “VeeBee, long time no see*”

  1. […] Beispiel: E-Mail-Anhänge speichern (hatten wir doch neulich schon) oder beim neuen Release des eigenen Pet Projects auf Twitter rundrufen, dass es […]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

n/a