| 
    
     |  | 皆さん、こんばんは 
 このサイトで、良く出てくる
 ・エクセルでメールを受信する
 という事を参考にして、
 #1 メールを受信する
 #2 メールをテキストファイルに保存する
 #3 指定したフォルダ内にあるテキストを、別シートに貼り付ける
 という事までは、出来ました。
 
 メール本文内に、
 http://www.yahoo.co.jp
 などのようにサイトアドレスがある場合、
 IEで表示させたいのですが、どうすれば実現できますか?
 
 それと、表示後に自動的にIEを閉じる操作をしたいのですが
 可能ですか?
 
 参考までに、作成したコードはこちらです。
 よろしくお願いいたします。
 -------------------------------------------------------------------------
 Dim ファイル数 As Variant
 Dim fname(9999) As Variant ' メール数9999通 メール本文2000行まで対応します
 Dim i As Variant
 Dim j As Variant
 Dim dat As Variant
 
 Dim szServer As String, szUser As String, szPass As String
 Dim szCommand As String, szDir As String
 Dim ar As Variant, v As Variant
 
 'ReadMail関数用宣言文
 Dim szFilename As String, szPara As String
 Dim retv As Variant
 
 
 szServer = Workbooks("エクセルでメール受信と クリックを実現する.xls"). _
 Worksheets("メール受信").Cells(4, 2)
 'SMTPサーバ名と同じでよい。
 'タブで区切ってポート番号を指定できます。
 szUser = Workbooks("エクセルでメール受信と クリックを実現する.xls"). _
 Worksheets("メール受信").Cells(2, 2)
 'メールアカウント名
 szPass = Workbooks("エクセルでメール受信と クリックを実現する.xls"). _
 Worksheets("メール受信").Cells(3, 2)
 'パスワード
 '    2000/05/20 APOPをサポート
 '   APOP 認証をするには、パスワードの前に "a" または "A" に 1個の
 '   ブランクをつけます。
 '   "a xxxx" : サーバがAPOP 未対応なら通常のUSER/PASS 処理をします。
 '   "A xxxx" : サーバがAPOP 未対応ならエラーになります。
 If Workbooks("エクセルでメール受信と クリックを実現する.xls"). _
 Worksheets("メール受信").Cells(6, 2) = "削除する" Then
 szCommand = "savealld" ' 削除する
 Else
 szCommand = "saveall"  ' 削除しない
 End If
 
 szDir = Workbooks("エクセルでメール受信と クリックを実現する.xls"). _
 Worksheets("メール受信").Cells(5, 2)
 '受信したメールを保存するディレクトリ
 
 ' ディレクトリが見つからない場合は、ディレクトリを作成する
 '-----------------------------------------------------------------------
 On Error GoTo ディレクトリ作成済み
 MkDir szDir
 ディレクトリ作成済み:
 
 '------------------------------------------------------------------------
 ar = RcvMail(szServer, szUser, szPass, szCommand, szDir)
 
 '戻り値が返る変数は、Variantタイプを指定すること。
 '受信したメール1通ごとにファイルが作成されます。
 'メールに添付されたファイルは、本文と共に1つのファイルに含まれます。
 'ReadMail関数で添付ファイルを取出します。
 
 If IsArray(ar) Then  '正常終了時のSAVEコマンドの戻り値は、配列になります。
 For Each v In ar
 Debug.Print v   'メールデータが保存されたファイル名がフルパスで戻ります。
 'このファイル名をReadMailのパラメータとして渡します。
 Next
 Else
 Debug.Print ar   'エラー発生時は、配列でなくメッセージが戻ります。
 End If
 
 '===============================================メールを 読む=================
 szFilename = ar(0) ' ファイル名にはRcvMailの戻り値の配列からファイル名を設定
 szPara = "subject:from:date:" ' ヘッダーの指定
 ' nofile: とすると添付ファイルを保存しません。
 retv = ReadMail(szFilename, szPara, szDir)
 
 If IsArray(retv) Then
 For Each v In retv
 Debug.Print v
 Next
 Else
 Debug.Print retv
 End If
 
 '--------------------------------------------メールをメール受信に貼り付ける
 ' 全ファイル名を、fname(i)に取得する
 
 With Application.FileSearch
 .LookIn = szDir
 .filename = "*.txt"
 If .Execute(SortBy:=msoSortByFileName, _
 SortOrder:=msoSortOrderAscending) > 0 Then
 ファイル数 = .FoundFiles.Count
 For i = 1 To .FoundFiles.Count
 fname(i) = .FoundFiles(i)
 Next i
 Else
 MsgBox "メールファイルがありません"
 End If
 End With
 
 For i = 1 To ファイル数
 
 ' 範囲のクリア
 Workbooks("エクセルでメール受信と クリックを実現する.xls").Worksheets("メール本文").Select
 Worksheets("メール本文").Range("A1:A9999").Select
 Selection.ClearContents
 j = 0
 
 ' データの貼り付け
 Open fname(i) For Input As #1
 Do Until EOF(1)
 Input #1, dat
 j = j + 1
 Workbooks("エクセルでメール受信と クリックを実現する.xls").Worksheets("メール本文").Cells(j, 1) = dat
 If j = 2000 Then
 GoTo skip
 End If
 Loop
 skip:
 Close #1
 ' MsgBox "確認して下さい"
 Next i
 
 Workbooks("エクセルでメール受信と クリックを実現する.xls").Worksheets("メール受信").Select
 
 |  |