Bonjour,
Pour envoyer un email via Outlook je fait un : GetActiveOleObject('Outlook.Application')
Sur mon PC en Win10 avec Office 2016, aucun soucis. Par contre sur certains poste cela ne renvoi rien .. (ça vole).
Avez vous une idée du pourquoi ? (le poste qui a le problème est aussi en Win10 + Office 2016).
"S'il n'existe pas d'object recensé pour le progId passé à la fonction GetActiveOleObject, celle-ci lève une exception EOleSysError avec le message "Opération non disponible"."
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 repeat GetOutlookApp(bOutlookInstance); if not bOutlookInstance then begin //Si on abandonne on simule que l'on a trouvé oultook pour sortir de la boucle // MAIS on dit que le resultat est FAUX if MessageDlg('Microsoft Outlook doit être démarré avant de continuer.' +#13+#10+''+#13+#10 +'Démarrer Microsoft Outlook puis cliquer sur "Réessayer"'+#13+#10+'Sinon cliquer sur "Abandonner"', mtWarning, [mbAbort, mbRetry], 0) = mrAbort then begin bOutlookInstance := true; Result := false; end; end; until bOutlookInstance; // et le code de la fonction function GetOutlookApp(var bFind : boolean) : OLEVariant; begin LogIntoFile('Récupération de l''application Outlook'); bFind := false; result := Unassigned; try result := GetActiveOleObject('Outlook.Application'); // ca vole ici et bFind reste à False bFind := true; LogIntoFile('Application Outlook trouvée'); except LogIntoFile('Application Outlook non trouvé'); end; end;
Bien entendu Outlook est ouvert à chaque fois .. je ne comprend pas.
Merci
Partager