Avatar billede Carsten Novice
07. december 2017 - 16:37 Der er 7 kommentarer og
1 løsning

Gemme vedhæftet fil fra mails i Outlook - vha. VB Access

Hej alle,
Håber i kan hjælpe mig med en kode til VB Acces, hvor koden skal gemme 1 vedhæftet fil, i mails placeret i en undermappe i inbox. (der er kun 1 .xlxs fil per mail). Jeg anvender Outlook som mail system...

Mails ligger i "Inbox" - undermappe "Behandles"
Gem vedhæftet fil fra mail (placering: 'C:\GemteFiler\')
Filnavn skal ikke ændres
Når den vedhæftet fil er gemt, skal mail flyttes til
"Inbox" - undermappe "Afsluttet"

Håber at få nogle gode input.
Vh Carsten
Avatar billede terry Ekspert
07. december 2017 - 17:35 #1
VBA in Access you'll need a reference to Outlook (Tools-References)

Dim myApp As New Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim myAflsuttetFolder As Outlook.MAPIFolder
Dim myMsg As Outlook.MailItem
Dim a As Integer


Set myApp = CreateObject("Outlook.Application")
Set myNameSpace = myApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)

Set myAflsuttetFolder = myFolder.Folders("Afsluttet")

Set myFolder = myFolder.Folders("Behandles")



    For Each myMsg In myFolder.Items
        With myMsg
           
               
                For a = 1 To myMsg.Attachments.Count
               
                    myMsg.Attachments.Item(a).SaveAsFile "C:\GemteFiler" & "\" & myMsg.Attachments.Item(a).DisplayName
                Next a
               
                myMsg.Move myAflsuttetFolder
               
               
               
        End With
    Next
   
    Set myMsg = Nothing
    Set myAflsuttetFolder = Nothing
    Set myFolder = Nothing
    Set myNameSpace = Nothing
    Set myApp = Nothing
Avatar billede bvirk Guru
08. december 2017 - 10:54 #2
Man kan så sige at det ikke har noget med access at gøre - det kunne lige så godt laves i excel eller endog blot vbscript.
Jeg kan godt forstille mig mail brug, hvor det uhensigtsmæssigt at fylde mail systemet op med massser af vedhæftede, og at det giver bedre overblik og bekvemmere start af associerede program når de ligger i filsystemmet.

En tanke jeg finder interessant, nu access er i spil, er at man sagtens kan simulere mappeindhold i access - alså bruge access som både et arkiv og arkiv browser ligesom en zip fil der browses med zip program - Så kunne man også få lidt relevante mailheadere med, som 'from' og 'subject'. Med andre ord - gemme i felttypen blob som fra 2007 er blevet eksponeret i table design, men altid har været der og tilgåes i vba vha getchunk og addchunk
Avatar billede Carsten Novice
08. december 2017 - 12:18 #3
Hej Terry og Bvirk,
Tak for jeres svar.
Omkring "VBA in Access you'll need a reference to Outlook (Tools-References)"
Hvordan gør jeg det i Outlook 2016?

Hvis jeg kører koden fra Terry, får jeg en Compile error med "User-defined type not defined" ved:
"Dim myApp As New Outlook.Application"
Er det på grund af, at jeg mangler ovenstående reference?
Vh Carsten
Avatar billede terry Ekspert
08. december 2017 - 13:21 #4
you said in your original question "en kode til VB Acces" So I assumed you wanted to have the code in Access (Microsoft Access), is that correct?
Avatar billede terry Ekspert
08. december 2017 - 13:30 #5
The code will also work in Outlook but you need the reference to Outlook

In Code view Look under Tools+References menu
Avatar billede terry Ekspert
08. december 2017 - 13:31 #6
I dont have Outlook 2016 but I guess its the same place..
Avatar billede Carsten Novice
08. december 2017 - 15:46 #7
Hi Terry,
Thanks again for your answer.
Yes, I want to have the code in Microsoft Access.
I just need to "adjust" the reference to Outlook.
(at present I just don't have the Tool menu in my Outlook version)
Waiting for the tool, to make the reference.
//Carsten
Avatar billede terry Ekspert
08. december 2017 - 17:18 #8
In Access you also find References under tools menu when in code view (CTRL+G)

In Outlook try pressing ALT+F11 to get to code view
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester