2017-03-24 8 views
0

メールを自動的に送信または表示するコードがあります。送信しないでメールを表示

Set OutApp = CreateObject("Outlook.Application") 
    Set outmail = OutApp.CreateItem(olMailItem) 

    With outmail 
     .To = c.Value 
     .BCC = "[email protected]" 
     .Subject = Range("B1") 
     .HTMLBody = RangetoHTML(s) 
    On Error Resume Next 
     .Attachments.Add (DFile1) 
     .Attachments.Add (DFile2) 
     .Attachments.Add (DFile3) 
     .Attachments.Add (DFile4) 
     .Attachments.Add (DFile5) 
     '.Send  'to send directly 
     .Display 'to display email 
    End With 

私は.Sendを使用する場合、それは完璧に動作しますが、私が正しく.Displayマクロの実行を使用しますが、何も

+0

「On Error Resume Next」はなぜですか?添付ファイルが利用できない場合は – 0m3r

+0

を削除してください。 – sharkantipav

+0

これを削除して、動作するかどうかテストを実行してください。利用可能でないファイルについて私は確かに他の方法があると確信しています – 0m3r

答えて

2

を表示されません取得したときに、私は何をあなたがやろうとすると、各添付ファイルをチェックし、そうOn Error Resume Nextを使用して、あなたをスキップだと思います..私はそれを好きではないされ、これを行う

On Error Resume Next 
.Attachments.Add (DFile1) 
On Error Resume Next 
.Attachments.Add (DFile2) 
On Error Resume Next 
.Attachments.Add (DFile3) 
On Error Resume Next 
.Attachments.Add (DFile4) 
On Error Resume Next 
.Attachments.Add (DFile5) 
On Error GoTo 0 

しかし、私は何だろうと、この

のようなものであることができます210
 '// Attachment Path 
    AtmtsPath = "C:\Temp\" 

    '// Add attachments to the message. 
    Atmts = Dir(AtmtsPath & "*.*") 

    Do While Len(Atmts) > 0 
     .Attachments.Add AtmtsPath & Atmts 
     Atmts = Dir 
    Loop 
関連する問題