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
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
bvirk Seniormester
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
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
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?
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
terry Ekspert
08. december 2017 - 13:31 #6
I dont have Outlook 2016 but I guess its the same place..
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
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
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

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





Premium
Tech Mahindra forlader sit danske hovedkvarter: Tre tilbageværende medarbejdere flytter på kontorhotel
Det indiske selskab Tech Mahindra forlader sit danske hovedkvarter i Ballerup og er i stedet flyttet på kontorhotel med kun tre medarbejdere. Computerworld har besøgt de forladte lokaler. Se billederne her.
Computerworld
"Så kommer Microsoft og siger, at jeg kan få en milliard kroner, men det ændrer jo ikke mit liv så meget"
"Dengang Microsoft bød på os, var det med blandede følelser, for jeg havde allerede 200 millioner kroner stående i banken. Til gengæld skulle jeg aflevere min spændende virksomhed."
CIO
Forleden reparerede en mekaniker min bil: Det kostede 4.200 kroner, som min hjerne snød mig til at betale med et smil
De rationelle it-beslutninger du træffer er måske en illusion. Det lærte jeg da min bil gik i stykker og min hjerne snød mig til at tro, at alt var fint. Til gengæld fandt jeg tre fælder dine it-beslutninger kan falde i.
Job & Karriere
Manden bag Stack Overflow til softwareudviklere og folk i it-branchen: Disse ting skal du lære, hvis du vil undgå at blive tromlet totalt
Interview: Manden bag Stack Overflow og Trello har en opsang til folk i it-branchen. Her er de kompetencer, som du bare skal tilegne dig nu.
White paper
Kundeservice som et konkurrencevåben
Kundeservice har i mange år været ensbetydende med lange telefonkøer, men i dag er situationen heldigvis helt anderledes. Virksomheder bruger det som et vigtigt konkurrenceparameter, og kunderne forventer ligeledes at få den rigtige hjælp, ellers går de til en anden virksomhed. I dette whitepaper gennemgår vi fem simple trin, der kan give jer vigtige konkurrencefordele.