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