Toon posts:

[Outlook COM] Betere manier afvangen 'nieuw bericht' scherm

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een Outlook (2000) AddIn aan het maken en hierbij maak ik gebruik van het COM object van Outlook. Deze heeft een aantal hele fijne events die afgevuurd worden als bijvoorbeeld een e-mail verzonden wordt of er nieuwe email binnen is.
Nu zocht ik een event welke aan zou duiden dat de user een nieuwe e-mail aan het schrijven is in zijn Outlook. Deze kan ik helaas niet vinden.

Het volgende hebt ik gemaakt om toch te kunnen achterhalen of de user een nieuwe e-mail aan het schrijven is (is overigens VB6):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'function:  checks if the user is creating  a new e-mailmessage
Private Sub TimerMessageChecker_Timer()

  Dim objMail As Outlook.MailItem
  Dim bolErrorOccured As Boolean ' default is false, is set to true if we find not new e-mail message
  bolErrorOccured = False
  
  'check if we are creating a new e-mailmessage.
  'if so we will not get an error
  On Error Resume Next
    Set objMail = moOL.ActiveInspector.CurrentItem
    
    If Err.Number <> 0 Then
      bolErrorOccured = True
    End If
  On Error GoTo 0
  
  If Not bolErrorOccured Then
    MsgBox "We found that the user is creating a new mailmessage"
  End If

End Sub


Wat er gebeurt is dat de deze timer iedere 500 milliseconde probeert om de active window van outlook als email message te gebruiken. Als dit niet werk, wordt er een error gegenereerd. Zolang er geen error gegenereerd wordt, is de user bezig een message te maken.

Weet iemand een betere manier om te achterhalen of een user in outlook een nieuwe e-mail aan het schrijven is?