Bonjour,

j'ai un soucis de communication avec Outlook lors de la récupération des agendas de ce dernier.

Cela fonctionne bien pour environ les 250 premiers agenda et ensuite me renvoie une erreur R0039

error accessing external object property CreationTime.
Je vous joins le code si quelqu'un a une idée de ce qui peut se passer

d'avance merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
OLEObject lole_item, lole_UserProp, lole_UserProp2
long		ll_ligne, ll_numero, ll_agenda, ll_dossier, ll_row
datetime	dt,ldt_fin
boolean	lb_maj = TRUE, lb_delete = FALSE, ok = FALSE
int		p
string	ls_sujet, ls_corps
Time     lt_time

ll_row = adw_retour.insertrow(0)
adw_retour.object.action[ll_row] = 'of_exporteragendablanc'

// On récupère l'élément Outlook
lole_Item = aole_Items.Item(al_item)
IF NOT IsValid(lole_Item) THEN goto fin

// On regarde s'il faut vraiment le traiter
IF NOT IsNull(ad_ancien) THEN
	 DebugPrint("Date : " + string(ad_ancien) + " <?> " + string(lole_Item.Start) /*+ " - " + string(lole_Item.LastModificationTime)*/)
	IF IsNull(lole_Item.CreationTime) THEN &
		goto fin
	IF datetime(lole_Item.CreationTime) <= ad_ancien AND datetime(lole_Item.LastModificationTime) <= ad_ancien THEN &
		goto fin
END IF

// On regarde s'il existe
ads_agenda.reset()
ll_agenda = 0
lole_UserProp = lole_Item.UserProperties.Find("Agenda")

IF IsValid(lole_UserProp) THEN
	// On vérifie s'il est privé (olConfidential=3, olNormal=0, olPersonal=1, olPrivate=2)
	IF lole_item.Sensitivity > 0 THEN
		adw_retour.object.action[ll_row] = 'Agenda devenu privé dans Outlook'
		adw_retour.object.destination[ll_row] = 'O'
		adw_retour.object.quoi[ll_row] = 'prive'
		adw_retour.object.outlook_entryid2[ll_row] = lole_Item.EntryID
		goto fin
	END IF
	// On cherche l'agenda dans la base
	ll_agenda = long(lole_UserProp.Value)
	IF ll_agenda <> 0 THEN &
		ads_agenda.retrieve(ll_agenda)
ELSEIF lole_item.Sensitivity > 0 THEN
	// On vérifie s'il est privé (olConfidential=3, olNormal=0, olPersonal=1, olPrivate=2)
	goto fin
END IF