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):
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?
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?