XL 2019 Modification Macro Mail Outlook

gothc

XLDnaute Occasionnel
Bonjour le forum
je cherche 2 choses la première envoyer les emails avec la liste email sur l'onglet base (voir fichier)
le problème 2 je souhaite refermer Outlook quand il termine l'envoi de la pièces jointe
j'ai réussi a trouver la procédure pour ouvrir Outlook avec le code
VB:
Function OutlookOuvert() As Boolean
  Dim oOL As Object
  On Error Resume Next
  Set oOL = GetObject(, "Outlook.Application")
  On Error GoTo 0
  OutlookOuvert = Not (oOL Is Nothing)
  Set oOL = Nothing
End Function
et la ligne
Code:
If OutlookOuvert = False Then i = Shell("Outlook", vbNormalNoFocus)
mais pour la fermeture après l'envoi cest compliqué
Merci de votre aide
 

Pièces jointes

  • test email pdf.xlsm
    26.7 KB · Affichages: 8
C

Compte Supprimé 979

Guest
Bonjour Gothc

Petite question, pourquoi vouloir fermer Outlook après envoi ?

Sinon la seule solution à ma connaissance est de killer le processus Outlook, pas très clean...

@+
 

patricktoulon

XLDnaute Barbatruc
re
@gothc
je vois pas trop le besoins de checker une éventuelle instance Outlook déjà pressente dans les taches mais bon
comme tu te sert de getobject normalement oOl est un object application
donc oOl.quit si oOL il n'est pas nothing ,devrait fermer cette instance
 

patricktoulon

XLDnaute Barbatruc
re
sisi ça fonctionne toujours
il faut juste une gestion d'erreur au cas ou il n'y a pas d'instance outlook sinon ca plante direct a getobject
testé à l'instant meme
VB:
Sub ferme_OutlookOuvert()
  Dim oOL As Object
  On Error Resume Next' au cas ou il n'y a pas d'instance  comme getobject n'a pas de gestion d'erreur interne 
  Set oOL = GetObject(, "Outlook.Application")
  If Not oOL Is Nothing Then oOL.Quit
End Sub
ça m’étonnait aussi ;)
 

Discussions similaires