Forum - Questions sur Access - Mettre Outlook en premier plan
le 18/04/2020 : 10:37
par flomen
visiteur
Bonjour,
Dans mon application Access Création d'un mail via Outlook
Cela fonctionne très bien, cependant, je n'arrive pas à forcer la mise en premier plan d'Outlook !
Merci pour votre aide
Voici le code que j'utilise :
Function EnvViaOutlook(DestMail As String, CCMail As String, SujetMail As String, TxtMail As String, Signature As String, Optional PJ1 As String) As String Dim OL As Outlook.Application, mi As Outlook.MailItem On Error GoTo OLMailErr Set OL = New Outlook.Application Set mi = OL.CreateItem(olMailItem) With mi .To = DestMail .CC = CCMail .Subject = SujetMail .Body = TxtMail .HTMLBody = "Test Signature<b>" & "" & .HTMLBody .Display End With Set mi = Nothing: Set OL = Nothing Exit Function OLMailErr: MsgBox "Erreur : " & Err.Number & vbCrLf & Err.Description Exit Function End Function
--------
le 18/04/2020 : 19:29
par 3Stone
Administrateur
Bonjour,
(j'ai mis un peu d'ordre dans l'affichage)
Pour inclure du code, il y a un bouton dans l'éditeur (plus petit et plus grand) à droite des guillemets qui eux servent aux citations...
Citation : « flomen »
je n'arrive pas à forcer la mise en premier plan d'Outlook !
Essaies plutôt avec :
OL.display
Cordialement,
Pierre (3Stone)
--------
le 20/04/2020 : 15:04
par 3Stone
Administrateur
Bonjour,
Je n'ai plus d'Outlook d'installé et configuré...
mais quelque chose comme ceci devrait fonctionner :
Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem(olMailItem) With OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "blabla" & "<br>" & "<br>" & " et le reste..." & .HTMLBody ' .HTMLBody peut inclure la signature .To = "destinataire@gmail.com" .CC = "copie_à_@gmail.com" .BCC = "copie_carbone@gmail.com" .Subject = "mon sujet" .Attachments = str_LeFichier .Send End With
Pour que le message ne parte pas, il faut supprimer le "send"
Cordialement,
Pierre (3Stone)
--------
le 21/04/2020 : 21:22
par 3Stone
Administrateur
Salut,
Citation :
c'est exactement la meme que mon code
Oupppss !
Pourtant, ce code doit fonctionner.
Mais revenons précisément à ta demande :
Citation : « flomen »
je n'arrive pas à forcer la mise en premier plan d'Outlook
Le "display" fait et sert justement à cela.
Si cela ne fonctionne pas, as-tu alors fait une exécution pas à pas en mettant un point d’arrêt pour voir si la ligne s'exécute bien ?
Si oui, recommence mais sans exécuter ton programme.
Appelle simplement ta fonction via le fenêtre d'exécution (ctrl + g) et regarde si cela fonctionne.
Si Outlook s'affiche alors devant Access, c'est que tu as des fenêtres qui sont déjà en "modal".
Cordialement,
Pierre (3Stone)
--------
le 22/04/2020 : 09:38
par flomen
visiteur
Bonjour,
J'utilise une fonction pour préparer un mail via outlook sans l'envoyer, c'est a dire que je ne met pas .Send mais .Display. Jusque là ca fonctionne.
Mon problème c'est que mon application access reste en premier plan alors que je voudrais que ce soit Outlook que pas en premier plan.
Voici le code que tu peux associer à un bouton
Private Sub Go_Click() Dim MonOutlook As Outlook.Application Dim MonMessage As Outlook.MailItem On Error GoTo Err_envoyerMail ' ===== Initialisation ===== Set MonOutlook = CreateObject("Outlook.Application") Set MonMessage = MonOutlook.CreateItem(0) ' ===== Création de l'email ===== With MonMessage .To = "mail.bidon@gmail.com" .Subject = "Sujet de ce mail" .Body = "Ici le contenu du mail à envoyer" ' Affiche le mail .Display End With Exit_envoyerMail: Set MonOutlook = Nothing Exit Sub Err_envoyerMail: Select Case Err.Number Case Else MsgBox "Erreur n°" & Err.Number & vbCrLf & "Description : " & Err.Description & vbCrLf & "Source : " & Err.Source, vbCritical, "Erreur" End Select Resume Exit_envoyerMail End Sub
Ma question est : Comment passer OUtlook en premier Plan
Cordialement
Rectifier message Clôturer sujet Remonter