2009-03-06 2 views
3

Outlook에 이메일이 도착하면 URL을 시작하고 싶습니다. 규칙을 설정하고 스크립트 기능을 트리거하도록했습니다. 내가 브라우저에서 URL을 실행에서 ShellExecute를 호출 할 것 같습니다,하지만 난이 줄을 명중 할 때 :이메일이 도착하면 URL을 실행하는 방법

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

방법은 정의되어 있지 않습니다. 어떤 아이디어? 또한

답변

4

에서 ShellExecute는 윈도우 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  

당신의 쉘 솔루션에서 ShellExecute의 차이가 URL에 링크를 열 수 있도록에서 ShellExecute 기본 시스템 처리기를 사용하는 것입니다. IE가 아니어도됩니다. 귀하의 솔루션은 항상 IE에서 열 것입니다. 너는 윈도에서 실행 상자에 iexplore.exe를 넣는 것과 같다. ShellExecute는 Windows의 실행 상자에 URL을 넣는 것과 같습니다.

0

,이 같은 Shell를 사용

Sub LaunchURL(Item As Outlook.MailItem) 
    Shell ("C:\Program Files\Internet Explorer\IEXPLORE.EXE" & " " & Item.Body) 
End Sub 
2

VBA의 Followhyperlink을 사용하여 기본 브라우저에서 URL을 열 수도 있습니다. 등록 된 응용 프로그램으로 문서를 열고, 전자 메일을 보내고 폴더를 탐색하는데도 사용할 수 있습니다.

1

이 쓸 경우 당신은 배치 파일을 만들 수 있습니다

start http://someurl.com/?a=1^&b=2 

을 그리고 당신은 Outlook을 구성이 배치 파일을 실행 규칙. 알리미^기호 앞에 &. 배치 파일에서 &의 이스케이프 시퀀스입니다. 또한 Windows OS에 기본 브라우저가 설정되어 있어야하며 거의 100 % 확률을 가질 수 있습니다.

1
Shell ("CMD /C start http://www.spamcop.net"), vbNormalFocus 
관련 문제