J'envoie un e-mail en utilisant Outlook 2010 avec Access VBA.
Je reçois un avertissement de Microsoft Outlook concernant un programme essayant d'envoyer un e-mail et je suis obligé de pousser allow.
J'ai la bibliothèque d'objets Microsoft Outlook 14 à partir de la référence dans VBA.
Dans Outlook - Options - l'accès via programin est marqué sur ne pas afficher les avertissements.
J'ai ajouté les entrées suivantes dans regedit
Key: HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\ <version>\Outlook\Security Value name: AdminSecurityMode Value type: REG_DWORD Value: 3 Key: HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\ <version>\Outlook\Security Value name: PromptOOMSend Value name: PromptOOMAddressBookAccess Value name: PromptOOMAddressInformationAccess Value name: PromptOOMMeetingTaskRequestResponse Value name: PromptOOMSaveAs Value name: PromptOOMFormulaAccess Value name: PromptSimpleMAPISend Value name: PromptSimpleMAPINameResolve Value name: PromptSimpleMAPIOpenMessage Value type: REG_DWORD Value: 2
J'ajoute également DoCmd.SetWarnings False dans la fonction email.
Comment désactiver cet avertissement?
3 Réponses :
La manière courante de résoudre ce problème consiste à installer et à utiliser Outlook Redemption .
/ p>
Une autre méthode consiste à contourner complètement Outlook et à envoyer via SMTP , mais c'est une autre histoire et nécessite beaucoup plus de code.
Vous obtenez une invite de sécurité standard dans Outlook.
Il existe plusieurs façons de supprimer ces invites:
Utilisez des composants tiers pour supprimer les avertissements de sécurité Outlook. Voir Security Manager for Microsoft Outlook pour plus d'informations. p>
Utilisez une API de bas niveau au lieu de MOO. Ou tout autre wrappers tiers autour de cette API, par exemple, Redemption.
Développez un complément COM qui a accès à l'objet Application de confiance.
Utilisez des objets de stratégie de groupe pour configurer des machines.
Merci pour votre réponse, mais comment développer un complément COM pour rendre cela possible?
Voir docs.microsoft.com/en-us/visualstudio/vsto/...
L'avertissement apparaît pour l'utilisation de DoCmd.sendObject pour envoyer un e-mail, donc au lieu de télécharger des composants tiers.
Je n'ai simplement pas utilisé doCmd.sendObjects et utilisé une fonction comme celle-ci:
Public Function CreateNewMessage() Dim objMsg As MailItem Set objMsg = Application.CreateItem(olMailItem) With objMsg .To = "Alias@domain.com" .CC= "Alias2@domain.com" .BCC = "Alias3@domain.com" .Subject = "This is the subject" .Categories = "Test" .VotingOptions = "Yes;No;Maybe;" .BodyFormat = olFormatPlain ' send plain text message .Importance = olImportanceHigh .Sensitivity = olConfidential .Attachments.Add ("path-to-file.docx") ' Calculate a date using DateAdd or enter an explicit date .ExpiryTime = DateAdd("m", 6, Now) '6 months from now .DeferredDeliveryTime = #8/1/2012 6:00:00 PM# .Display End With Set objMsg = Nothing End Function
Merci beaucoup