メール受信 : Excel(エクセル)

今回、Excel VBAでメール受信するにはTatsuo Babaさん作成のBSMTP.DLLを使用させていただきました。
BSMTP.DLLの著作権はTatsuo Babaさんが所有されています。
BSMTP.DLLはここよりダウンロードできます。
ダウンロード後、システムフォルダ(windows\system32)においてください。

Excel Tipsメニューに戻る

スポンサーリンク






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サーバー名、メールアカウント、パスワード、保存先フォルダを入力します。

「メール受信」ボタンをクリックすると、メール受信を開始し、受信ファイル名が表示されます。
上記コードで動作させた場合、受信後、サーバーからメールは削除しません。


スポンサーリンク






Excel Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved