2017-03-22 7 views
0

私は10MBのファイルをWINRARで圧縮しています。ループを作成して、各パートに1つの電子メールを作成し、すべての電子メールを表示してから送信します。ループvbaは同時にさまざまな電子メールを表示します

Set OutApp = CreateObject("Outlook.Application") 

Application.Wait (Now + TimeValue("0:00:30")) 
On Error GoTo 0 
Set OutMail = OutApp.CreateItem(0) 
For i = 1 To times 
    With OutMail 
     .To = wb1.Sheets("MAIL").Cells(4, 3).Value 
     .CC = wb1.Sheets("MAIL").Cells(5, 3).Value 
     .BCC = "" 
     .Subject = wb1.Sheets("MAIL").Cells(6, 3).Value 
     .Body = wb1.Sheets("MAIL").Cells(9, 3).Value 
     'You can add other files also like this 

      If (times > 1) Then 
       .Attachments.Add source & "part" & i & ".rar" 
      Else: .Attachments.Add source & "rar" 
      End If 
     '.Send 'or use .Display 

     .Display 
    End With 
Next i 
  1. i "が.Send" でそれを実行した場合には、添付何もせずに1通の電子メールを送信します。
  2. 「ディスプレイ」を使用している場合、付属のすべての部品が で送信可能なOutlookに1つのメールが表示されます。 (私の例では3部)。

私はどちらか欲しい:

  • ファイルの1部ごとに3電子メールを送信するには、 OR
  • ディスプレイ3通の電子メールをatached、1部とのそれぞれが、 "送信" をクリックする準備ができて添付 Outlookで。

私は自分自身について説明しました。

答えて

1

あなたは、単にこのように、あなたはループの内側に新しいメール
Set OutMail = OutApp.CreateItem(0)
を作成する部分を逃した:私は投稿のコードの前にそれをやった

For i = 1 To times 
    Set OutMail = OutApp.CreateItem(0) 

    With OutMail 
     .To = wb1.Sheets("MAIL").Cells(4, 3).value 
     .CC = wb1.Sheets("MAIL").Cells(5, 3).value 
     .BCC = "" 
     .Subject = wb1.Sheets("MAIL").Cells(6, 3).value 
     .Body = wb1.Sheets("MAIL").Cells(9, 3).value 
     'You can add other files also like this 

      If (times > 1) Then 
       .Attachments.Add Source & "part" & i & ".rar" 
      Else 
       .Attachments.Add Source & "rar" 
      End If 
     '.Send 'or use .Display 

     .Display 
    End With 
Next i 
+0

。前に見せてくれて申し訳ありません。メインポストを今編集する。私はループ内でテストします。 – AngelMdez

+2

@ AngelMdez:私は十分にはっきりしていなかった、私はあなたがこのラインを持っていることを知っていたが、複数のメールを作成するにはループの中にいる必要がある! ;) – R3uK

+0

私はそれをテストします。何らかの理由で最初にループすると何も表示されません。 2回目と3回目です。 xxxxx.part2.rarとxxxx.part3.rarが送信準備が整えられているが、xxx.part1.rarを含むメールは2つあります。 – AngelMdez

関連する問題