문제

이메일이 Outlook에 도착하면 URL을 시작하고 싶습니다. 규칙을 설정하고 스크립트 함수를 트리거하도록합니다. 브라우저에서 URL을 시작하기 위해 ShellexEcute에 전화를 걸고 싶은 것 같습니다.

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

메소드는 정의되지 않았습니다. 어떤 아이디어?

도움이 되었습니까?

해결책

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 Solution과 ShellexeCute의 차이점은 ShellexeCute가 URL의 기본 시스템 처리기를 사용하여 링크를 엽니다는 것입니다. 이것은 IE 일 필요가 없습니다. 솔루션은 항상 IE에서 열립니다. 귀하는 IExplore.exe를 Windows의 런 박스에 넣는 것과 같습니다. ShellexeCute는 URL을 Windows에 런 박스에 넣는 것과 같습니다.

다른 팁

당신은 또한 사용할 수 있습니다 후속 링크 기본 브라우저에서 VBA에서 열린 URL로 또한 등록 된 신청서와 함께 문서를 열고 이메일을 보내고 폴더를 탐색하는 데 사용될 수 있습니다.

또는 사용하십시오 Shell, 이와 같이:

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

이것을 작성하는 배치 파일을 만들 수 있습니다.

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

이 배치 파일을 시작하도록 Outlook Rule을 구성합니다. 주목 ^ 전기 서명 &. 이것은 배치 파일의 탈출 순서입니다. 또한 Windows OS에 기본 브라우저가 설정되어 있어야합니다.

Shell ("CMD /C start http://www.spamcop.net"), vbNormalFocus
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top