2014-10-03 6 views
6

में भेजने के लिए एकाधिक फ़ाइलों को संलग्न करें I VBA और Outlook के माध्यम से एकाधिक अनुलग्नकों के साथ एक ईमेल भेजने का प्रयास कर रहा हूं।ईमेल या संपूर्ण निर्देशिका (VBA)

यदि मैं एक अनुलग्नक/फ़ाइल के पथ को निर्दिष्ट करता हूं तो कोड मैं काम करता हूं और यदि मैं जानता हूं कि वे वास्तव में क्या हैं लेकिन मैं आगे नहीं बढ़ूंगा - तो अलग-अलग मायने रखेंगे और फ़ाइल नाम भी होंगे ।

मुझे नीचे दिए गए उदाहरण में दिखाए गए वाइल्डकार्ड का उपयोग करना अच्छा लगेगा, लेकिन मुझे लगता है कि मुझे किसी निर्देशिका में कुछ प्रकार के लूप पॉइंटिंग का उपयोग करने की आवश्यकता होगी।

मैंने समाधान के लिए लगभग एक टन देखा है लेकिन मुझे अभी तक कुछ भी देखना है जो मेरी विशिष्ट स्थिति के साथ काम करता है।

 Private Sub Command22_Click() 
     Dim mess_body As String 
     Dim appOutLook As Outlook.Application 
     Dim MailOutLook As Outlook.MailItem 
     Set appOutLook = CreateObject("Outlook.Application") 
     Set MailOutLook = appOutLook.CreateItem(olMailItem) 

      Set appOutLook = CreateObject("Outlook.Application") 
      Set MailOutLook = appOutLook.CreateItem(olMailItem) 
      With MailOutLook 
      .BodyFormat = olFormatRichText 
      .To = "[email protected]" 
      .Subject = "test" 
      .HTMLBody = "test" 
      .Attachments.Add ("H:\test\Adj*.pdf") 
      '.DeleteAfterSubmit = True 
      .Send 
      End With 
      MsgBox "Reports have been sent", vbOKOnly 
     End Sub 
+0

उपयोग [DIR] (http://stackoverflow.com/questions/10380312/loop-through-files-in-a-folder-using-vba/10382861#10382861) –

+0

आप के लिए धन्यवाद तुम्हारा जवाब। मैंने कोशिश की। अटैचमेंट्स। Dir ("एच: \ test \") जोड़ें और मुझे यह त्रुटि मिली है कि "यह फ़ाइल नहीं मिल सकती है। पथ सत्यापित करें और फ़ाइल का नाम सही है"। – gfuller40

उत्तर

11

आप यही कोशिश कर रहे हैं है? (Untested)

Private Sub Command22_Click() 
    Dim mess_body As String, StrFile As String, StrPath As String 
    Dim appOutLook As Outlook.Application 
    Dim MailOutLook As Outlook.MailItem 

    Set appOutLook = CreateObject("Outlook.Application") 
    Set MailOutLook = appOutLook.CreateItem(olMailItem) 

    '~~> Change path here 
    StrPath = "H:\test\" 

    With MailOutLook 
     .BodyFormat = olFormatRichText 
     .To = "[email protected]" 
     .Subject = "test" 
     .HTMLBody = "test" 

     '~~> *.* for all files 
     StrFile = Dir(StrPath & "*.*") 

     Do While Len(StrFile) > 0 
      .Attachments.Add StrPath & StrFile 
      StrFile = Dir 
     Loop 

     '.DeleteAfterSubmit = True 
     .Send 
    End With 

    MsgBox "Reports have been sent", vbOKOnly 
End Sub 
+0

@ डाउनवॉटर: डाउनवोट की व्याख्या करने की देखभाल? –

+0

+1 हम्म, यह क्यों गिराया गया था? –