0

クライアントがExcel/VBAをクライアントに配布したいのですが、vbaは自動的にメールを送信します。

おそらく、送信者は、vbaを使用している人のOutlookアカウントではなく、他のアカウントである必要があります。これは、電子メールに個人的なものが含まれている可能性があるためです。それは本当に可能ですか?

もう1つは、このようなタスクを自動化する際の悪名高いポップアップ警告です。コンピュータがロックされていると、Application.SendKeysが常に機能するとは限らないと聞きました。

このタスクのCDOはどうですか?

4

2 に答える 2

1

MailItem.SentOnBehalfOfName最初の質問では、Outlook で使用できます

セキュリティ警告について、Outlook の標準的な 2 つの解決策は次のとおりです
。1) Clickyes
を使用する 2) Outlook Redemptionをインストールする

于 2012-05-23T03:53:15.990 に答える
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") = "account@domain.com"
   .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
于 2012-05-23T03:11:52.110 に答える