XL 2016 Problème macro ouverture Outlook a l'arrièce plan avec la fonction Shell

NicoleBelge

XLDnaute Nouveau
Bonjour à tous,

Je bloque depuis 2 jours sur une macro afin d'envoyer automatiquement un mail depuis Excel. En effet, je souhaite tester si Outlook est déjà ouvert sur le PC avant l'envoi du mail et s'il ne l'est pas alors l'ouvrir et le mettre à l'arrière plan. Pour couvrir et minimizer j'utilise la fonction Shell (Chemin, vbhide) - vous trouverez le code un peu plus bas.

Lorsque j'exécute cette macro en mode pas à pas, je n'ai aucun problème. Lorsque je l'exécute en mode "normal", Outlook s'ouvre puis reste en premier plan. Après plusieurs recherches, j'ai trouvé une macro qui est supposée réduire Outlook, mais la encore rien ne se passe. Je ne comprends pas d'ou vient le problème et j'espère que vous pourrez m'aider.

Voici mon code :

'Macro de test de test d'ouverture d'outlook
Sub TestOuvertureOutlook()
Set OLk_Appli = CreateObject("Outlook.Application")
Dim NomClasseur As String
NomClasseur = ThisWorkbook.Name

If OLk_Appli.Explorers.Count > 0 Then
'Outlook est ouvert

Else
'Outlook est fermé
OLk_OK = Shell("C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE", vbHide)

End If

Call MiniOutlook
'Windows(NomClasseur).Activate
End Sub

'Macro de réduction d'outlook
Sub MiniOutlook()
On Error Resume Next


With GetObject(, "Outlook.Application")
.ActiveWindow.WindowState = 1 ' olMinimized = 1
End With
End Sub


Merci bien
 

Pièces jointes

  • PasserCommande2.xlsm
    13 KB · Affichages: 34

PMO2

XLDnaute Accro
Bonjour,

Essayez avec le code suivant
VB:
Sub OutlookOpenMinimized()
Dim OL As Object    'Outlook.Application
Dim NS As Object    'Namespace
Dim MF As Object    'MAPIFolder
Dim EXP As Object   'Explorer
'---
Set OL = CreateObject("Outlook.Application")
If OL.Explorers.Count = 0 Then
  Set NS = OL.GetNamespace("MAPI")
  Set MF = NS.GetDefaultFolder(6)   '6=olFolderInbox
  Set EXP = OL.Explorers.Add(MF, 0) '0=olFolderDisplayNormal
  EXP.Activate
  EXP.WindowState 1                 '1=olMinimized
End If
Set OL = Nothing
End Sub
 

Pièces jointes

  • Ouvrir Outlook et minimiser sa fenêtre.xlsm
    16.2 KB · Affichages: 43

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 311
Membres
102 860
dernier inscrit
fredo67