[Yardım]  Klasördeki Dosya İsimlerinin Listboxta Gösterip Mail Gönderm

Excel ile MS Outlook, Outlook Express, Gmail vb. programlar ile mail işlemleri hakkındaki bölüm.

Klasördeki Dosya İsimlerinin Listboxta Gösterip Mail Gönderm

İleti#1)  inspirasyon » 13 Şub 2020 10:55

Merhabalar Excel'den mail gönderme ile ilgili bir çok konuya baktım ama istediğim gibi bir kod maalesef bulamadım. İstediğim şu; Masaüstünde "Numune Sonuçları" adında bir klasörüm var, içinde laboratuvar sonuçlarının yer aldığı pdf uzantılı dosyalar bulunmakta. Benim bu sonuçları listboxta listeleyip, çoklu seçim yaparak ilgili kişinin mail adresine göndermem gerekiyor. Aynı klasörün içinde birde "Mail Gönderildi" adında bir Klasörüm daha var, listboxtan seçtiğim pdf dosyalarını mail gönderdikten sonra dosyanın ismini (DosyaAdı.mailok) diye değiştirip "Mail Gönderildi" klasörüne kopyalanması.. şimdiden çok teşekkür ederim..
Kullanıcı avatarı
inspirasyon
Yeni Başlamış
 
Adı Soyadı:yücel özgezerim
Kayıt: 23 Mar 2011 14:21
Konum: manisa
Meslek: Veteriner Hekimi
Yaş: 41
İleti: 32
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: manisa

Cevap: Klasördeki Dosya İsimlerinin Listboxta Gösterip Mail

İleti#2)  Ali ÖZ » 13 Şub 2020 21:54

Merhaba,
Bir userform oluşturup bir listbox ve bir buton ekleyip bu kodları yapıştırıp deneyin.

Kod: Tümünü seç
Private Sub UserForm_Initialize()
Me.ListBox1.MultiSelect = fmMultiSelectExtended
kaynak = CreateObject("wscript.Shell").SpecialFolders("Desktop") & "\Numune Sonuçları\"
    For Each dosya In CreateObject("scripting.filesystemobject").getfolder(kaynak).Files
       ListBox1.AddItem dosya.Name
    Next
End Sub

Private Sub CommandButton1_Click()
    Dim kaynak, hedef As String: Dim dosya As Object
    kaynak = CreateObject("wscript.Shell").SpecialFolders("Desktop") & "\Numune Sonuçları\"
    hedef = CreateObject("wscript.Shell").SpecialFolders("Desktop") & "\Numune Sonuçları\Mail Gönderildi\"
   
    If CreateObject("scripting.filesystemobject").FolderExists(kaynak) = False Then
        MsgBox kaynak & " Yolu Bulunamadı"
        Exit Sub
    End If
    If CreateObject("scripting.filesystemobject").FolderExists(hedef) = False Then
        MsgBox hedef & " Yolu Bulunamadı"
        Exit Sub
    End If
    For Each dosya In CreateObject("scripting.filesystemobject").getfolder(kaynak).Files
      For i = 0 To ListBox1.ListCount - 1
       ek = kaynak & dosya.Name
        If ListBox1.Selected(i) And ListBox1.List(i, 0) = dosya.Name Then   
           Set OutApp = CreateObject("Outlook.Application")
           Set OutMail = OutApp.CreateItem(0)
           With OutMail
             .To = ""
             .CC = ""
             .Attachments.Add ek
             .Subject = ""
             .Display
             'SendKeys "%G"
           End With
       
            Set OutMail = Nothing
            Set OutApp = Nothing
            dosya.Copy hedef
          End If         
       Next
    Next
    MsgBox "Seçilen Dosyalar" & kaynak & " Adresinden " & hedef & "Adresine Kopyalandı Ve Maile Eklendi"
   

   Application.EnableEvents = True
   Application.ScreenUpdating = True
   
End Sub
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 10094
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Klasördeki Dosya İsimlerinin Listboxta Gösterip Mail

İleti#3)  inspirasyon » 14 Şub 2020 14:50

Çok teşekkür ederim, ellerinize sağlık..
Kullanıcı avatarı
inspirasyon
Yeni Başlamış
 
Adı Soyadı:yücel özgezerim
Kayıt: 23 Mar 2011 14:21
Konum: manisa
Meslek: Veteriner Hekimi
Yaş: 41
İleti: 32
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: manisa


Forum Excel ile Mail İşlemleri

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe