Comment lancer une URL quand un email arrive
-
03-07-2019 - |
Question
Je voudrais lancer une URL lorsqu'un courrier électronique arrive dans Outlook. J'ai configuré une règle et l'ai déclenchée une fonction de script. Il semblerait que je veuille appeler ShellExecute pour lancer l'URL dans un navigateur, mais lorsque je clique sur cette ligne:
ShellExecute(0&, "open", URL, vbNullString, vbNullString, _
vbNormalFocus)
La méthode n'est pas définie. Des idées?
La solution
ShellExecute est une fonction dans une dll Windows. Vous devez ajouter une déclaration de ce type dans un module VBA:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
La différence entre votre solution Shell et ShellExecute est que ShellExecute utilisera le gestionnaire de système par défaut pour les URL afin d’ouvrir le lien. Cela ne doit pas être IE. Votre solution l'ouvrira toujours dans IE. Vôtre équivaut à mettre iexplore.exe dans la boîte d'exécution de Windows. ShellExecute est l'équivalent de simplement mettre l'URL dans le champ d'exécution de Windows.
Autres conseils
Vous pouvez également utiliser suivre un lien hypertexte à partir de VBA pour ouvrir les URL dans le navigateur par défaut. Il peut également être utilisé pour ouvrir des documents avec l'application enregistrée, envoyer des courriels et parcourir des dossiers.
Vous pouvez également utiliser Shell
, comme suit:
Sub LaunchURL(Item As Outlook.MailItem)
Shell ("C:\Program Files\Internet Explorer\IEXPLORE.EXE" & " " & Item.Body)
End Sub
Vous pouvez créer un fichier de commandes dans lequel vous écrivez ceci:
start http://someurl.com/?a=1^&b=2
Et vous configurez la règle Outlook pour lancer ce fichier de commandes. Notez le signe ^ avant & amp;. C'est la séquence d'échappement pour & amp; dans des fichiers batch. Notez également que vous devez définir un navigateur par défaut dans votre système d’exploitation Windows, avec une probabilité de près de 100%.
Shell ("CMD /C start http://www.spamcop.net"), vbNormalFocus