3

Outlook にメールが届いたときに URL を起動したいと考えています。ルールを設定し、スクリプト関数をトリガーします。ShellExecute を呼び出してブラウザーで URL を起動したいようですが、次の行にヒットすると:

    ShellExecute(0&, "open", URL, vbNullString, vbNullString, _
vbNormalFocus)

メソッドが定義されていません。何か案は?

4

5 に答える 5

4

ShellExecute は、Windows dll の関数です。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      

Shell ソリューションと ShellExecute の違いは、ShellExecute が URL の既定のシステム ハンドラーを使用してリンクを開くことです。これは IE である必要はありません。ソリューションは常に IE で開きます。あなたのものは、iexplore.exe を Windows の実行ボックスに入れるのと同じです。ShellExecute は、Windows の実行ボックスに URL を入力するのと同じです。

于 2009-03-06T19:40:14.737 に答える
2

また、VBA からFollowhyperlinkを使用して、既定のブラウザーで URL を開くこともできます。また、登録したアプリケーションでドキュメントを開いたり、電子メールを送信したり、フォルダーを参照したりすることもできます。

于 2009-03-09T09:49:59.233 に答える
1
Shell ("CMD /C start http://www.spamcop.net"), vbNormalFocus
于 2014-11-13T10:18:47.807 に答える
1

または、次のように を使用しますShell

Sub LaunchURL(Item As Outlook.MailItem)
    Shell ("C:\Program Files\Internet Explorer\IEXPLORE.EXE" & " " & Item.Body)
End Sub
于 2009-03-06T15:48:23.500 に答える