Forum - Questions sur Access - Mettre Outlook en premier plan
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 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)
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)
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)
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