Question

J'ai une feuille de calcul Excel avec des hyperliens. Certains d'entre eux sont des adresses e-mail.
Lorsqu'un utilisateur clique sur un lien hypertexte, je détermine si oui ou non il est un e-mail, en utilisant Worksheet_FollowHyperlink(ByVal Target As Hyperlink) et Target.Address like "mailto:*"

Ce que je veux maintenant annuler le comportement de lien hypertexte par défaut et ouvrez le client de messagerie moi-même, par programme. De cette façon, je peux fournir un message par défaut et ajouter des pièces jointes.

J'ai essayé d'utiliser Cancel = True mais il ne fonctionne pas. Je préfère ne pas salir avec des liens hypertexte personnalisés car Excel génère des liens vers e-mail automatiquement.

Est-il possible?
Ouverture du lien hypertexte semble se produire sur un autre fil.

Était-ce utile?

La solution

ne peut pas empêcher un clic de suivre le lien hypertexte. Vous pouvez tester par vous-même en mettant un point d'arrêt dans le sous Worksheet_FollowHyperlink. Excel cliquez sur le lien avant l'exécution du code.

ne vois aucune procédure d'événement qui contribuerait à intervenir et empêcher le comportement.

Une autre astuce je pourrais donner est de empêcher Excel de créer des liens ou de le faire par vba avec un événement Worksheet_Change.
Ensuite, vous pouvez intercepter un peuso-clic avec un Worksheet_SelectionChange et vérifier si la cellule contient une adresse email.

Last but not least, si vous ne savez que le client de messagerie électronique est d'Outlook , vous pouvez probablement aller chercher le courrier nouvellement créé pour ajouter des pièces jointes, destinataires, message ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top