Avatar billede kimlarsen1978 Nybegynder
22. juni 2011 - 18:34 Der er 6 kommentarer og
1 løsning

.msg filer i en folder skal sendes VB Macro Outlook

Hej
Jeg har en folder, hvori der puttes nogle .msg filer. De ligger i c:\temp med extension .msg

Jeg vil gerne løber alle filerne igennem og sende dem. Der er modtager i filen, de skal "bare" sendes!

Når de er sendt skal filen bare slettes.

En der kan klare den fra VB i Outlook Macro???
Avatar billede supertekst Ekspert
23. juni 2011 - 10:50 #1
Forslag m/forudsætningerne:
VBA-koden indsættes i et Modul i OutLook
Har kopieret .MSG filer til en OutLook-folder under Private Mapper med navnet TestMappe

Public Sub afsendMails()
Const overMappenavn = "Private Mapper"
Const mappeNavn = "TestMappe"

Dim mailApp, Namespace, aFold, bFold
    Set mailApp = CreateObject("Outlook.Application")
    Set Namespace = mailApp.GetNamespace("MAPI")
    Set nyMail = mailApp.CreateItem(olMailItem)
   
    Set aFold = Namespace.Folders
    Set bFold = aFold(overMappenavn)
    Set mappen = bFold.Folders(mappeNavn)
   
    For x = 1 To mappen.Items.Count
        Set nyMail = mappen.Items(1)
               
'        nyMail.Display
        nyMail.Send
    Next x
End Sub
Avatar billede kimlarsen1978 Nybegynder
23. juni 2011 - 17:11 #2
Hej
Skal det være en outlook folder? Jeg har dem bare liggende i en lokal folder på C: - kan jeg ikke fange dem derfra?
Avatar billede supertekst Ekspert
23. juni 2011 - 17:42 #3
Hej

Har prøvet på basis af en tilsvarende folder - men det lykkedes ikke i første omgang.

Du kan i et huk kopiere dem alle til en Outlook-folder - der fungerer det.
Avatar billede kimlarsen1978 Nybegynder
23. juni 2011 - 17:47 #4
Okay, så må jeg lige finde ud af hvordan jeg fra VB gemmer dem i en outlook folder i stedet for i c:\temp ...
Avatar billede kimlarsen1978 Nybegynder
23. juni 2011 - 18:12 #5
Hænger lige fortsat lige ved den med C:...

Jeg kan finde filerne således:

Sub afsendMails()
Debug.Print "afsend mails"
Const overMappenavn = "Private Mapper"
Const mappeNavn = "TestMappe"

Dim mailApp, Namespace, aFold, bFold
Set mailApp = CreateObject("Outlook.Application")
Set Namespace = mailApp.GetNamespace("MAPI")
Set nyMail = mailApp.CreateItem(olMailItem)
 
Dim filename As String
Dim attr As Integer

' retrieve .msg files
filename = Dir$("c:\temp\*.msg")

Do Until filename = ""
    attr = GetAttr("c:\temp\" & filename)
        Debug.Print filename
        Set nyMail filename
        nyMail.Display
    filename = Dir$
Loop

End Sub

Men den fejler desværre i

Set nyMail filename

da filename ikke er et object. Kan jeg gøre noget der?
Avatar billede supertekst Ekspert
23. juni 2011 - 18:19 #6
Vender tilbage senere..
Avatar billede kimlarsen1978 Nybegynder
04. december 2011 - 13:11 #7
Lukker
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