Avatar billede henrik_stryhn Nybegynder
28. november 2002 - 14:54 Der er 2 kommentarer og
1 løsning

Mail-funktion via Outlook

Jeg er stødt på et underligt problem...
Jeg har lavet en funktion som kigger gennem en angiven Outlook-folder, for alle mails med et bestemt Subject, gemmer den vedhæftede fil på disken og derefter slettet mailen.

Funktionen kommer her:
***********************************************************
Public Function SaveMyMail(postkasse As String, folder As String, emne As String, sti As String)

Set myApp = CreateObject("Outlook.Application")
Set myNamespace = myApp.GetNamespace("MAPI")
Set myFolder = myNamespace.Folders("Postkasse - " & postkasse).Folders(folder)

For Each myMsg In myFolder.Items
    With myMsg
        If InStr(1, .subject, emne) > 0 Then
            myMsg.Attachments.Item(1).SaveAsFile sti & "\" & myMsg.Attachments.Item(1).DisplayName
            myFolder.Items.Item(1).Delete
        End If
    End With
Next
Exit Function
***********************************************************

Når jeg har 1 eller 2 emails i en mappe med det angivne subject, gemmer den de vedhæftede filer og sletter derefter mailen. Men har jeg 4 emails, løber den kun løkken igennem 2 gange, sletter kun 2 mails og gemmer kun 2 filer.

Er der nogen der kan give mig en forklaring på det?
Jeg har prøvet ALT muligt, men uanset hvad, løber den kun løkken igennem 2 gange og det forstår jeg simpelthen ikke, når der netop ligger 4 mails i mappen.

Jeg håber i kan hjælpe. :)
28. november 2002 - 15:54 #1
Det ligner et "index" problem, som jeg normalt løser ved gennemløb bagfra

For lCount = myFolder.Items.Count To 1 Step -1

Next lCount

Årsagen kunne være, at når du har slettet første og anden meddelse, så har meddelse 3 og 4 nu index 1 og i mappen. Eks. fra Excel - gennemløb af nogle rækker, hvis række 3 slettes, så bliver række 4 nu til række 3, og da række 3 er valideret så bliver den gamle "række 4" ikke valideret.
Avatar billede enigma_morten Nybegynder
29. november 2002 - 08:40 #2
DERFOR!!!!
Avatar billede henrik_stryhn Nybegynder
29. november 2002 - 09:05 #3
Det var umiddelbart det jeg selv havde i tankerne, var bare ikke klar over hvordan det skulle programmeres. Jeg har accepteret dit svar, da du har besvaret mit spørgsmål... - men kunne jeg evt. få dig til at lave den funktion jeg har lavet, bare hvor den gennemløber det bagfra, jeg er groet temlig meget fast i det. :)
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
Kategori
Kurser inden for grundlæggende programmering

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