J'ai fait un fichier Excel qui stocke beaucoup d'informations sur les pièces industrielles.
Il permet aux utilisateurs de envoyer via Outlook un mail préformaté pour demander un nouveau prix.VBA - Détecter si une application est installée pour l'utiliser
Malheureusement, certains utilisateurs ont bureau "light" sans Outlook et ils obtiennent une erreur:
Impossible de trouver le projet ou la bibliothèque
Installation Outlook est malheureusement pas une option, la fin de la séance d'attelage est déjà terminée.
Je pensais à directives de préprocesseur mais je ne peux pas comprendre comment les utiliser dans mon cas ...
Je connais les constantes que nous pouvons utiliser pour les versions Windows et VBA: see here
je l'aurais fait quelque chose comme ceci:
#If Outlook then
MsgBox "Outlook is installed"
#Else
MsgBox "Outlook is NOT installed"
#End if
Mais cela ne détecte si le code est exécuté à partir d'Outlook ou non, ce qui est pas ce que je dois ...:/
Je suppose que je pouvais faire quelque chose avec ce On Error
, mais il ne semble pas soignée, des suggestions?
Supprimer la référence et utiliser la liaison tardive ('createobject ("Outlook.Application")') - attraper l'erreur cette volonté augmenter si Outlook n'est pas disponible. –
Vous utiliseriez le 'sur erreur' dans une fonction dire' OUTLOOK_INSTALLED() comme Boolean' puis faire quelque chose d'erreur piégé, pour créer une instance de perspectives, beaucoup d'articles sur ceci, à n'importe quel point d'erreur, return false. Puis dites 'Si OUTLOOK_INSTALLED alors ......' –