Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Outlook 2010/VBA] Macro aanroepen via reminder *

Pagina: 1
Acties:

  • Lord_T
  • Registratie: Oktober 2000
  • Laatst online: 26-09 12:35
Doel: Overnight via outlook bepaalde macro's laten runnen
Methode: Probeer het via reminders te ondervangen in VBA

wat gaat fout: Kreeg 's ochtends zoveel reminders van missed appointments (die macro's) en hij had dus niets gedaan. Toen die dismiss code van msdn website geplukt, maar dat werkt ook niet. Hij onderdrukt de eerste maar lijkt macro niet te roepen....

Iemand enig idee?

Dit is de code die staat in ThisOutlookSession

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Private Sub Application_Reminder(ByVal Item As Object)
    
Dim olApp As Outlook.Application
    Dim objRems As Outlook.Reminders
    Dim objRem As Outlook.Reminder
    Dim i As Integer
   
    Set olApp = New Outlook.Application
    Set objRems = olApp.Reminders
   


    If Item.Subject = "MACRO1" Then
        Call Macro1
        For i = objRems.Count To 1 Step -1
        If objRems(i).IsVisible = True Then
            objRems(i).Dismiss
        End If
        Next
    End If
    
    If Item.Subject = "MACRO2" Then
        Call Macro2
        For i = objRems.Count To 1 Step -1
            If objRems(i).IsVisible = True Then
                objRems(i).Dismiss
            End If
        Next
    End If
    If Item.Subject = "MACRO3" Then  
        Call Macro3
        For i = objRems.Count To 1 Step -1
            If objRems(i).IsVisible = True Then
                objRems(i).Dismiss
            End If
        Next
            
    End If
    If Item.Subject = "MACRO4" Then
        Call Macro4
            For i = objRems.Count To 1 Step -1
            If objRems(i).IsVisible = True Then
                objRems(i).Dismiss
            End If
        Next
    End If
    If Item.Subject = "MACRO5" Then
        Call  Macro5
        For i = objRems.Count To 1 Step -1
            If objRems(i).IsVisible = True Then
                objRems(i).Dismiss
            End If
        Next
    End If
    If Item.Subject = "MACRO6" Then  ' currency
        Call Macro6        For i = objRems.Count To 1 Step -1
            If objRems(i).IsVisible = True Then
                objRems(i).Dismiss
            End If
        Next
    End If
End Sub

ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

offtopic:
Topictitel (VBA] Outlook 2010 vba probleem) aangepast, het woord 'probleem' is vrij zinloos dus ik beschrijf even wat je wilt.


Ik doe nooit iets met VBA in OL, dus in het algemeen: misschien wil je even kijken of For i = objRems.Count To 1 Step -1 etc. goed gaat. Neem even wat debug-info op. Maar ik zou vooral niet objRems gebruiken, maar meteen Item zelf. Dat is namelijk degene waar het om gaat lijkt me. (En ik neem aan dat dat een reminder-object is).
en hij had dus niets gedaan
Ah, dus 'Application_Reminder' wordt helemaal niet gestart? Test dat even met wat debug code (zoals een messagebox).
Waar zorg je dat de macro het event oppakt? MSDN: Events (Visual Basic) (Of: Google -> MSDN: Application_Reminder never fires. Why? )

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Lord_T
  • Registratie: Oktober 2000
  • Laatst online: 26-09 12:35
Krijg wel de reminder pop up, maar probleem doet zich voor dat ik ook imap errors krijg overnight....
2 verschillende:

imap timed out, en failed to update headers.

Doel van de macro's is om dus overnight de emails die tussen 2-4 binnenkomen om 5 uur te laten strippen van de attachments. En dan om 5:15 de emails die tussen 4 - 5 binnen zijn gekomen (andere sender).

Op dit moment heb ik die code per maco terug aangepast naar :

code:
1
2
3
If Item.Subject = "MACRO6" Then
        Call Macro6       
 End If


Dit om te zorgen dat er meer zichtbaar is, gedurende de dag als ik outlook dingetjes test lijkt het overigens wel te werken maar scheduled overnight op een recurrence dus niet, weet alleen niet of het aan die outlook imap errors ligt of aan de code.


edit: opgelost!
Stap 1 : haal imap errors eruit....send receive schedule weghalen bij imap
stap 2: schedule die macro's
stap 3: schedue een 15 minuten voor je macro's runnen een macro die 1x send receive doet

Dit laatste was nodig om er voor te zorgen dat die in ieder geval de emails wel binnen haalt en je niet 's ochtends de melding krijgt "updating cached .... " en je 0 emails overnight verwerkt had

[ Voor 21% gewijzigd door Lord_T op 09-02-2012 11:19 ]

ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)