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 VB for Applications

Outlook - VBA - Anhänge extrahieren - keine Reaktion

Mitglied: Midivirus

Midivirus (Level 2) - Jetzt verbinden

06.07.2011, aktualisiert 13.12.2011, 5039 Aufrufe, 11 Kommentare

Quelle:
http://www.ms-office-forum.net/forum/sitemap/index.php?t-186463.html
http://www.office-loesung.de/ftopic401266_0_0_asc.php

Mein Code, aus der Quelle angepasst und überflüssiges entfernt.

Aufgerufen wird es mittels einer Regel.

01.
Public Sub Application_NewMail(objMail As Outlook.MailItem) 
02.
 
03.
Dim Ordnername As String 
04.
Dim objPosteingang As MAPIFolder 
05.
Dim objNewMail As Object 
06.
Dim maildate As Date 
07.
Dim dirdatename As String 
08.
Dim anzahl As Integer 
09.
 
10.
'Variable objPosteingang wird mit dem Posteingangsordner verknüpft 
11.
Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox) 
12.
'Schleife, die jedes Item im Posteingang durchläuft 
13.
For Each objNewMail In objPosteingang.Items 
14.
'Bedingung, dass Item eine Mail sein muss 
15.
    If TypeOf objNewMail Is Outlook.MailItem Then 
16.
    With objNewMail 
17.
 
18.
       'Pfad zum Backupordner + dynamischen Unterordner 
19.
        Ordnername = "C:\Users\User\Desktop\" 
20.
        anzahl = .Attachments.Count 
21.
        MsgBox (anzahl) 
22.
 
23.
        'Bedingung dass nur ungelesene Mails geprüft werden 
24.
        If .UnRead = True Then 
25.
            'Anzahl der Attachments werden gezählt 
26.
            anzahl = .Attachments.Count 
27.
            MsgBox (anzahl) 
28.
            'Bedingung, dass mindestens 1 Attachment in der Mail vorhanden sein muss 
29.
            'Schleife, die für jedes Attachment durchläuft 
30.
            For i = 1 To anzahl 
31.
                'Attachment speichern 
32.
                .Attachments.Item(i).SaveAsFile Ordnername & "\" & .Attachments.Item(i).FileName 
33.
                MsgBox (anzahl) 
34.
            Next i 
35.
               'Mail löschen 
36.
               objNewMail.Delete 
37.
       End If 
38.
    End With 
39.
End If 
40.
 
41.
Next objNewMail 
42.
End Sub
Das schöne ist: es passiert einfach nichts sichtbares. Selbst wenn ich jetzt die MsgBox verwende, wird auch die mir nicht angezeigt. Nur wenn es einen Syntaxfehler gibt.
Die Sicherheit steht schon auf "nicht empfohlen", trotzdem passiert einfach nichts.

Ein anderes Skript hingegen läuft problemlos.

Falls es zur Lösungsfindung beiträgt, hier der Code:
01.
Public Sub ForwardMail(objMail As Outlook.MailItem) 
02.
 
03.
  Dim oForward As Outlook.MailItem 
04.
  ' Text, der dem Betreff vorangestellt werden soll 
05.
  Const FIX_SUBJECT As String = "VK1 54398 " 
06.
 
07.
  ' Verweis auf das aktuell geöffnete oder selektierte Element: 
08.
    Set myNameSpace = Application.GetNamespace("MAPI"
09.
    Set myFolder = myNameSpace.GetDefaultFolder(6) 
10.
 
11.
 
12.
  If TypeOf objMail Is Outlook.MailItem Then 
13.
    Set oForward = objMail.Forward 
14.
    With oForward 
15.
    .Recipients.Add "zieladresse@domain.tld" 
16.
    End With 
17.
    If InStr(1, oForward.Subject, FIX_SUBJECT, vbTextCompare) = 0 Then 
18.
      oForward.Subject = FIX_SUBJECT & oForward.Subject 
19.
    End If 
20.
    oForward.Display 
21.
    With oForward 
22.
    .Send 
23.
    End With 
24.
  End If 
25.
End Sub
Der Code schickt die Mail mit dem oben angegebenen Betreff an die angegebene Zieladresse weiter.

Beste Grüße
Midivirus

Ich könnte es auch Outlook zuordnen ... hab mich für VBA entschieden.
Mitglied: bastla
06.07.2011 um 21:51 Uhr
Hallo Midivirus!

Setze beim Debuggen versuchsweise früher an - also eine MsgBox nach Zeile 15, nach Zeile 21 eine Ausgabe der Variablen "anzahl" und auch nach Zeile 24 noch eine Kontroll-Ausgabe ...

Zeile 15 könntest Du noch komplettieren auf:
If TypeOf objNewMail Is Outlook.MailItem Then
Grüße
bastla
Bitte warten ..
Mitglied: Midivirus
07.07.2011 um 11:19 Uhr
Also die Zeile 20 (21) gibt mir eine 0 zurück.

die ausgewählte Mail ist die zweit älteste aus dem Posteingang. Was ich einfach nicht nachvollziehen kann (...)

Liegt es an meinem Sys: Win7 Ultimate OL 2007
Bitte warten ..
Mitglied: bastla
07.07.2011 um 11:34 Uhr
Hallo Midivirus!

Sorry, Outlook ist nicht so meine Baustelle - warum kein Attachment gefunden wird, kann ich Dir leider auch nicht sagen ...

Grüße
bastla
Bitte warten ..
Mitglied: Midivirus
07.07.2011 um 11:42 Uhr
hatte meinen Post geändert!
Bitte warten ..
Mitglied: bastla
07.07.2011 um 12:28 Uhr
Hallo Midivirus!

Hatte ich gesehen, aber es scheitert ja offensichtlich daran, dass die Anzahl der Attachments 0 ergibt ...

Grüße
bastla
Bitte warten ..
Mitglied: Midivirus
07.07.2011 um 12:58 Uhr
aber auch daran, dass OL2007 einfach nicht die korrekte Mail packt ... schade!

Hab sonst keine weitere Idee ...
Bitte warten ..
Mitglied: 76109
07.07.2011 um 14:55 Uhr
Hallo Midivirus!

Also, Outlook ist ebenfalls nicht meine Baustelle, allerdings ist Outlook auf meinem virtuellen XP installiert und habe die NewMail-Sub mal manuell (ohne Übergabeparameter) getestet und funktioniert. Die Sache mit der Regel habe ich noch nicht so ganz verstanden bzw. beim Versuch eine Regel zu erstellen,
sind meine Mails irgendwie verschwunden und nicht mehr aufzufinden. Von daher liegt der Fehler vermutlich an Deiner Regel?

Gruß Dieter
Bitte warten ..
Mitglied: Midivirus
07.07.2011 um 15:01 Uhr
Mhhh,

werde die Tage mal mein virtualWin7 entsprechend konfigurieren.

Warum die Mail gelöscht ist, siehe "Zeile 35 und 36.

In 35 wird angedeutet, was in 36 dann gemacht wird.



Beste Grüße


~ Thema ruht etwas ~
Bitte warten ..
Mitglied: 76109
07.07.2011 um 15:06 Uhr
Hallo Midivirus!

Warum die Mail gelöscht ist, siehe "Zeile 35 und 36.
Das hast Du leider missverstanden

Sollte bedeuten, daß die Mails schon vor dem Start der Sub weg waren bzw. nicht im 'GetDefault...' gefunden wurden.

Gruß Dieter
Bitte warten ..
Mitglied: Midivirus
20.07.2011 um 14:29 Uhr
Projekt vor erst auf Eis gelegt, schade!
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Outlook VBA - Anhang autom. speichern
gelöst Frage von sokraTonisVB for Applications8 Kommentare

Hallo, ich bekomme an eine bestimmte E-Mail-Adresse immer wieder Nachrichten mit einem Anhang. Der Name vom Anhang ist immer ...

E-Mail
Tool Anhang aus Eml Datei extrahieren
Frage von Lebowski23E-Mail1 Kommentar

Hallo, Ich habe einige 100 eml Datein, die alle einen Anhang haben. Ich würde gerne automatisiert alle Anhänge extrahieren ...

Outlook & Mail
Outlook vba Email Anhang in Ordner speichern
gelöst Frage von DaywalkercxpOutlook & Mail3 Kommentare

Liebe Community, Ich bin am verzweifeln, da ich einfach nicht auf die Lösung komme. Daher hoffe ich das es ...

VB for Applications
VBA Outlook - Automatisierte Anhänge - Script erweitern
gelöst Frage von sokraTonisVB for Applications3 Kommentare

Hallo Leute, ich würde mein Script: Sub AnlagenRewe(olMail As MailItem) Dim att As Attachment, fso As Object, ziel As ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

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

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...