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

Nur bestimmte Anhänge speichern

Frage Microsoft Outlook & Mail

Mitglied: Mephisti

Mephisti (Level 1) - Jetzt verbinden

28.02.2011, aktualisiert 09:26 Uhr, 3728 Aufrufe, 5 Kommentare

Hallo Allerseites,

ich bastel gerade an einem Script herum, um nur bestimmte Mailanhänge im Dateisystem abzuspeichern.
Lasse ich die Einschränkung weg funktioniert alles tadellos. Versuche ich allerdings den Dateityp der Anlage auf pdf zu reduzieren (and LCase(Right(Item.FileName, 4)) = ".pdf") komme ich über einen Laufzeitfehler 91 nicht hinaus ... Objekt oder Withblockvariable nicht definiert.

Danke für Eure Hilfe.

Gruß Mephisti

01.
Private Sub myOlItems_ItemAdd(ByVal Item As Object) 
02.
  Const sPfad  As String = "C:\Daten\Outlook-Anhang" 
03.
     
04.
    Dim iAttachCnt As Integer 
05.
    Dim i As Integer 
06.
    Dim myItem As Outlook.MailItem 
07.
    Dim DateFolderPath As String 
08.
    Dim fso As Object 
09.
        
10.
    DateFolderPath = sPfad & "\" & Format(Date, "dd-mm-yyyy") 
11.
    Set fso = CreateObject("Scripting.FileSystemObject") 
12.
     
13.
    If Not fso.FolderExists(sPfad) Then 
14.
        fso.CreateFolder sPfad 
15.
    End If 
16.
 
17.
    If Not fso.FolderExists(DateFolderPath) Then 
18.
        fso.CreateFolder DateFolderPath 
19.
    End If 
20.
     
21.
    If TypeName(Item) = "MailItem" Then 
22.
    With Item.Attachments 
23.
      iAttachCnt = .Count 
24.
      If iAttachCnt > 0 Then 
25.
       'For i = 1 To iAttachCnt then <--- Mit dieser Variante werden alle Anlagen abgespeichert, ist aber nicht Ziel 
26.
        For i = 1 To iAttachCnt and LCase(Right(Item.FileName, 4)) = ".pdf" Then <--- Hier kommt der Laufzeitfehler 91 
27.
          .Item(i).SaveAsFile DateFolderPath & "\" & .Item(i).FileName 
28.
        Next i 
29.
      End If 
30.
    End With 
31.
  End If 
32.
  End Sub
[Edit Biber] Codeformatierung [/Edit]
Mitglied: StefanKittel
28.02.2011 um 09:14 Uhr
Moin,

wo wird denn Item.FileName dem Index zugeordnet?

müßte das nicht so sein:

01.
For i = 1 To iAttachCnt then 
02.
  if (LCase(Right(.Item(i).FileName, 4)) = ".pdf") then 
03.
    .Item(i).SaveAsFile DateFolderPath & "\" & .Item(i).FileName 
04.
  end if 
05.
Next i
Stefan

PS: nicht getestet!
Bitte warten ..
Mitglied: bastla
28.02.2011 um 09:27 Uhr
Hallo Mephisti!

Das ließe sich etwas kompakter formulieren (und schöner formatiert posten ):
01.
... 
02.
If TypeName(Item) = "MailItem" Then 
03.
    With Item.Attachments 
04.
        For i = 1 To .Count 'wenn .Count < 1 wird die Schleife ohnehin übersprungen 
05.
            If LCase(Right(.Item(i).FileName, 4)) = ".pdf" Then .Item(i).SaveAsFile DateFolderPath & "\" & .Item(i).FileName 
06.
        Next 
07.
    End With 
08.
End If
Alternativ sollte auch
01.
... 
02.
If TypeName(Item) = "MailItem" Then 
03.
    For Each Attach In Item.Attachments 
04.
        File = Attach.FileName 
05.
        If LCase(Right(File, 4)) = ".pdf" Then Attach.SaveAsFile DateFolderPath & "\" & File 
06.
    Next 
07.
End If
funktionieren - das Testen muss ich allerdings Dir überlassen ...

Grüße
bastla
Bitte warten ..
Mitglied: Mephisti
28.02.2011 um 09:33 Uhr
Hallo Bastla,
hallo Stephan,

werd eure beiden Vorschläge testen, Ergebnis folgt.
Danke schon mal im voraus.

Gruß
Mephisti
Bitte warten ..
Mitglied: Biber
28.02.2011 um 09:35 Uhr
Moin Mephisti,

wenn es etwas gibt, was ich noch mehr hasse als Montage...
-> Dann sind es Montags-Beiträge mit Programmschnipseln ohne Codeformatierung.

Dein Fauxpas in diesem Codefragment:

  • Du hast doch schon in Zeile 22 gesagt "With Item.Attachment"
  • In der FOR i=1 TO... -Konstruktion sprichst du aber nicht ".(i).FileName" (==Item.Attachment(i).Filename) an, sondern ein "Item.Filename". Das gibt es aber nicht.
  • Also ersetze "LCase(Right(Item.(i).FileName, 4))" durch "LCase(Right(.(i).FileName, 4))".

[Ebenfalls ungetestet]
Grüße
Biber

[Edit] Montags bin ich immer vieeeel zu langsam....[/Edit]
Bitte warten ..
Mitglied: Mephisti
28.02.2011 um 17:44 Uhr
Hallo Bastla,

dein erster Tipp hatte schon das gewünschte erreicht.
Besten Dank auch an alle anderen für eure Hilfe!

Gruß
Mephisti
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

Outlook & Mail
gelöst Bestimmte Anhänge bei E-mails mit Exchange 2010 löschen (5)

Frage von jojo0411 zum Thema Outlook & Mail ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...