Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: E-mail-bijlagen met vba opslaan  (gelezen 6748 keer)

0 leden en 1 gast bekijken dit topic.

Offline janbart

  • Nieuw lid
  • Berichten: 3
  • Geslacht: Man
  • Oplossing.be
E-mail-bijlagen met vba opslaan
« Gepost op: 19 augustus 2015, 13:09:00 »
Hoi, op mijn werk krijg ik soms wel 50 of meer zelfde mails toe van onze leverancier met een factuur of creditnota in PDF in bijlage. Vroeger had ik een VBA-scriptje gevonden op het internet om deze bijlagen dan automatisch af te printen want elke mail apart openen kost teveel tijd. Maar helaas hebben onze IT-specialisten (afzonderlijke firma) Citrix geïnstalleerd en werkt mijn programmaatje niet meer.  IT-specialisten hebben er naar gekeken maar geraken ook niet verder. >:(  Ik heb dit script nu al een beetje kunnen aanpassen dat het nu gewoon alle bijlagen opslaagt in een map en dit werkt, maar ik geraak niet verder. Kunnen jullie mij helpen? Ik zou nu graag willen dat het script enkel die bijlagen opslaagt als het onderwerp van de mail een bepaalde benaming heeft.
Hieronder mijn script
Alvast bedankt.
Dim ns As NameSpace
 Dim Inbox As MAPIFolder
 Dim Item As Object
 Dim Atmt As Attachment
 Dim FileName As String
 Dim i As Integer
 Const olFolderInbox = 6

Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)

Set colItems = objFolder.Items

Set objFSO = CreateObject("Scripting.FileSystemObject")

For Each objMessage In colItems
    intCount = objMessage.Attachments.Count
    If intCount > 0 Then
        For i = 1 To intCount
            strTempFile = objFSO.GetTempName
            objMessage.Attachments.Item(i).SaveAsFile "V:\ACTIES\actie\Email Attachments\" & strTempFile & "_" & _
                objMessage.Attachments.Item(i).FileName
       

Next

End If
Next


End Sub

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.193
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: E-mail-bijlagen met vba opslaan
« Reactie #1 Gepost op: 19 augustus 2015, 19:14:00 »
Hallo Janbart,

Welkom op Oplossing.be  :)

Citrux ken ik niet, maar als je een (werkende) macro hebt die objMessage.Attachments.Item(I) opslaat, dan kan je deze toch ook gelijk laten afdrukken met een extra lijntje binnen de For/Next loop:

objMessage.Attachments.Item(I).SaveAsFile "V:\ACTIES\actie\Email Attachments\" & strTempFile & "_" & _objMessage.Attachments.Item(I).FileName

objMessage.Attachments.Item(I).PrintOut Copies:=1  'aanpassen aan de bestaande printer, zo gaat hij naar de standaard printer[/color]

Denk ik......  :'(

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.193
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: E-mail-bijlagen met vba opslaan
« Reactie #2 Gepost op: 19 augustus 2015, 19:50:28 »
Hallo Janbart,

Voor het opslaan van bijlagen van mails met "bepaalde Onderwerpen" zal je iets als volgend moeten gebruiken:

If olConditionSubject="onderwerp" then
PrintOut Copies:=1
EndIf

(Zeer simplistisch uitgedrukt, er komt wel meer bij kijken  ;)

Klik HIER en HIER voor een zeer uitgebreide site over alle mogelijke toepassingen van VBA met mails (Outlook)

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.193
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: E-mail-bijlagen met vba opslaan
« Reactie #3 Gepost op: 19 augustus 2015, 20:20:32 »
Hallo JanBart,

Heb deze nog gevonden: Print Bijlagen "Als volgens het onderwerp"

Hoop dat je er iets aan hebt.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline janbart

  • Nieuw lid
  • Berichten: 3
  • Geslacht: Man
  • Oplossing.be
Re: E-mail-bijlagen met vba opslaan
« Reactie #4 Gepost op: 20 augustus 2015, 11:26:34 »
Hier ga ik toch effe werk mee hebben.  Ga er direct mee aan de slag. Zal hier het resultaat posten mocht ik succes hebben maar dat zal ten vroegste na het week end zijn. Toch al bedankt. ;D

Offline janbart

  • Nieuw lid
  • Berichten: 3
  • Geslacht: Man
  • Oplossing.be
Re: E-mail-bijlagen met vba opslaan
« Reactie #5 Gepost op: 21 augustus 2015, 10:02:58 »
Toch vlugger opgelost dan ik dacht. ;D Heb een hele dag heleboel scripts aan het uitproberen geweest maar niks lukte, tot ik vanochtend mijn oud programmaatje nog eens uittestte: en success!
Probleem was dus dat de firma hier even was overgeschakeld op Acrobat 11. en blijkbaar lukt dat sofware matig niet in ons Citrix-serversysteem.
Dus onlangs terug overgeschakeld naar acrobat 9. voor bepaalde zaken.
Toch bedankt om even te kijken.
Public Sub PrintAttachments()
    Dim Inbox As MAPIFolder
    Dim Item As MailItem
    Dim Atmt As Attachment
    Dim FileName As String
    Dim i As Integer

    Set Inbox = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Parent.Folders.Item("Acties")

    For Each Item In Inbox.Items
        For Each Atmt In Item.Attachments
            ' all attachments are first saved in the temp folder C:\Temp.  Be sure to create this folder.
            FileName = "C:\Temp\" & Atmt.FileName
            Atmt.SaveAsFile FileName
            ' please change the program folder accordingly if the Acrobat Reader is not installed on drive C:
            Shell """C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"" /N /T """ + FileName + """", vbHide
        Next
        Next
       

    Set Inbox = Nothing


End Sub

 


www.combell.com