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?

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top