2009-06-10 17 views
0

私のアプリケーションから電子メールを送信する必要があります。しかし、SMTP経由で直接電子メールを送信するのではなく、Microsoft Outlook経由で電子メールを送信したいと考えています。だから...VB6でMicrosoft Outlookの送信トレイに電子メールメッセージを生成する方法は?

VB6でMicrosoft Outlookの送信トレイに電子メールメッセージを生成する方法は?

+1

あなたのコードは、Outlookは、あなたが(例えば、アドレス帳にアクセスしようとして)、マクロウイルスだと思うになるかもしれない何かをしている場合、ユーザーがダイアログボックスが表示されますのでご注意ください。この問題が発生した場合は、Outlook Redemption(http://www.dimastr.com/redemption)をご覧ください。 – AakashM

+0

で返されるstackoverflow: http://stackoverflow.com/questions/769763/email-using-access-and-vba-without-mapi – 76mel

答えて

2

このsupport pageには例があります。

Send a message to your new contact. 
    Dim olMail As Outlook.MailItem 
    Set olMail = olApp.CreateItem(olMailItem) 
' Fill out & send message... 
    olMail.To = olItem.Email1Address 
    olMail.Subject = "About our meeting..." 
    olMail.Body = _ 
     "Dear " & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _ 
     "I'll see you in 2 minutes for our meeting!" & vbCr & vbCr & _ 
     "Btw: I've added you to my contact list." 
    olMail.Send 
2

COMオートメーションを使用します。このKnowledgeBase articleはVBAから行う方法を説明していますが、VB6ではまったく同じです。 ReferencesコマンドはVB6のProjectメニューのToolsメニューではありませんが、唯一の違いだと思います。編集:This KnowledgeBase article VB6でそれを行う方法を説明します。これのためにShobanへの名誉、upvote his answer私のものではない!

MSDNのトピックAutomating Outlook from a Visual Basic applicationsは、タイトルのMicrosoftのタイプミスにも言及する価値があると思います!

0

は、フォーム、モジュール、クラス、または何で...私はbutton_clickイベントを選択し、その後、Microsoft OutlookのXオブジェクトライブラリへ

をプロジェクト参照を追加します。

Private Sub Command1_Click() 
    Dim objOutlook As Outlook.Application 
    Dim objMail As MailItem 

    Dim strToAddress As String 
    Dim strSubject As String 
    Dim strBody As String 

    Set objOutlook = New Outlook.Application 
    Set objMail = Outlook.CreateItem(olMailItem) 

    strToAddress = "[email protected]" 
    strSubject = "VB6 test email" 
    strBody = "This is a test email sent from VB6" 

    With objMail 
    .To = strToAddress 
    .Subject = strSubject 
    .BodyFormat = olFormatPlain 
    .Body = strBody 
    End With 

    MsgBox "outlook security will now complain as I try to resolve your email addresses against your address book" 
    objMail.Recipients.ResolveAll 

    objMail.Save 
    Set objMail = Nothing 
    Set objOutlook = Nothing 

    MsgBox "look in your drafts folder for the new email" 

    'Thank you, I'm here all week, try the Veal. Good night. 
End Sub 
関連する問題