Excel:メール受信のVBA作成|POPサーバー・アカウント設定
POPサーバー・アカウント・パスワード・保存先フォルダを指定しメールを受信するVBAを作成します。
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
ExcelでEメールを受信できると、アプリを切り換えることなく業務メールをチェックでき便利です。
また常時Excelを開いている場合は、VBAでタイマーを動作させることで定期的に受診することもできます。
そこでこのVBAをご利用ください。
今回、Excel VBAでメール送信するにはTatsuo Babaさん作成のBSMTP.DLLを使用させていただきました。
BSMTP.DLLの著作権はTatsuo Babaさんが所有されています。
BSMTP.DLLはここよりダウンロードできます。
ダウンロード後、システムフォルダ(windows\system32)においてください。
メール関連の記事「Excelでメール送信するVBAの作成|SMTPサーバー・添付ファイル」を掲載しています参照してください。
メールを受信するVBA
Excel VBA コード
Option Explicit
Private Declare Function RcvMail Lib "bsmtp" _
(szServer As String, szUser As String, szPass As String, szCommand As String, szDir As String) As Variant
Private Sub ExRecvMail()
Dim szServer As String
Dim szUser As String
Dim szPass As String
Dim szCommand As String
Dim szDir As String
Dim aret As Variant
Dim va As Variant
Dim n As Long
szServer = Range("F3") '受信メールサーバー名
szUser = Range("F4") 'メールアカウント
szPass = Range("F5") 'パスワード
szCommand = "SAVEALL" '受信数 SAVEALLで全て受信
szDir = Range("F6") '受信したメールの保存先フォルダ
'受信実行
aret = RcvMail(szServer, szUser, szPass, szCommand, szDir)
n = 8 '受信したメールファイル名の表示開始行
If IsArray(aret) Then '正常終了の場合、戻り値は配列になる
For Each va In aret
Range("F" & n) = va 'メールファイル名を表示
n = n + 1
Next
Else
Range("F" & n) = aret 'エラーの場合はメッセージを表示
End If
End Sub
Private Sub CommandButton1_Click()
ExRecvMail
End Sub
Excelシート画面
POPサーバー名、メールアカウント、パスワード、保存先フォルダを入力します。
「メール受信」ボタンをクリックすると、メール受信を開始し、受信ファイル名が表示されます。
上記コードで動作させた場合、受信後、サーバーからメールは削除しません。
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved