MAPIって言うものを使うと、MAPIに関連づいたメールクライアント(Outlook ,Outlook Expressなど)の送信フォームを起動できます。
まず、画面にMAPISessionとMAPIMessagesを貼り付けて。。。
----------------
Me.AxMAPIMessages1.SessionID = Me.AxMAPISession1.SessionID
With Me.AxMAPIMessages1
'メッセージを作成
.Compose()
'あて先
.RecipDisplayName = "[DisplayName]"
'メールアドレス
.RecipAddress = "[mailaddress]"
'Subject
.MsgSubject = "サブジェクト"
'本文
.MsgNoteText = "本文"
'添付ファイル(複数)
For i As Int32 = 0 To filelist.Count - 1
.AttachmentIndex = i
.AttachmentPathName = DirectCast(filelist.Item(i), FileInfo).FullName
.AttachmentName = "Flie" & (i + 1).ToString
'コレが重要。スペースが必要。
.MsgNoteText = " "
'NOTE .MsgNoteText = " " -> KB173853 in microsoft
Next
Try
.Send(True)
Catch ex As System.Runtime.InteropServices.COMException
Debug.WriteLine("メール送信時のキャンセルでComExceptionが発生っぽい")
Debug.WriteLine(ex)
End Try
End With
Me.AxMAPISession1.SignOff()
1 件のコメント:
こんにちは、参考にさせてもらいました。
このままでは .Compose でセッションが作られていないの、例外が出ますので、
最初に
With Me.AxMAPISession1
.DownLoadMail = False
.SignOn()
End With
を足された方は良いかと・・・
コメントを投稿