2012-05-23 8 views
0

내 고객이 Excel에/vba를 배포하려고하고 vba가 자동으로 이메일을 보냅니다.vba - 다른 사용자로부터 이메일 보내기

발신자가 vba를 사용하는 사람의 Outlook 계정이 아닌 다른 계정이어야하는 경우가 있습니다. 이메일에 일부 사적인 내용이있을 수 있습니다. 그것은 정말로 가능합니까?

또 다른 일은 그러한 작업을 자동화 할 때 악명 높은 팝업 경고입니다. 컴퓨터가 잠겨있을 때 Application.SendKeys가 항상 작동하지 않는다고 들었습니다.

이 작업에 대한 CDO는 어떻습니까?

+0

가능한 중복 설치 사용 [Exchange 환경에서 Excel에서 전자 메일 보내기] (http://stackoverflow.com/questions/6122747/send-email-from-excel-in-exchange-environment) –

+0

Outlook 버전? – JimmyPena

답변

1

당신은 보안 Outlook 용 표준이 개 솔루션을 경고에서 Outlook

MailItem.SentOnBehalfOfName를 사용할 수는 있습니다
이 1) Clickyes
2) Outlook Redemption

+0

+ 1 :) 세 번째 옵션이 있습니다. Outlook의 보안을 줄입니다. 나는 그것을했고 나는 더 이상 팝업을 얻지 못한다. (Off-2010을 사용 중이다.) –

+0

@SiddharthRout 당신이 알고있는 한, 이것은 권장되지 않는다. – JimmyPena

+0

@JP : 공유 PC에서 사용하는 것이 좋습니다. 하지만 하나의 다른 사람이 액세스 할 수있는 내 개인 랩톱에서 - 그것은 완전히 최신 AV 소프트웨어 + 모든 알 수없는 매크로 파일을 열지 않도록 조심스럽게 어떤 문제가 보이지 않습니다. –

0

전자 메일을 보내기 위해 Outlook을 사용할 필요는 없습니다. CDO는 Outlook을 사용하지 않고도 작업 할 수 있습니다.

다음은 시작하기위한 몇 가지 코드입니다. 초기 질문에

Public Sub SendEmail(Subject As String, Body As String, ToPerson as String) 

Dim iCfg As Object 
Dim iMsg As Object 

Set iCfg = CreateObject("CDO.Configuration") 
Set iMsg = CreateObject("CDO.Message") 

With iCfg.Fields 
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email-account" 
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 
    .Item("http://schemas.microsoft.com/cdo/configuration/sendemailaddress") = "[email protected]" 
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 
    .Update 
End With 

With iMsg 
    .Configuration = iCfg 
    .Subject = Subject 
    .TextBody = Body 
    .To = ToPerson 
    .Send 
End With 

Set iMsg = Nothing 
Set iCfg = Nothing 

End Sub 
+2

이 코드의 소스를 참조해야합니다. – brettdj

+0

원본 소스가 더 이상 없습니다. 내 프로젝트 중 하나에서 사용하는 코드입니다. –

+0

이 코드도 사용합니다. 다음은 [출처] (http://www.rondebruin.nl/cdo.htm)입니다. – deusxmach1na