• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

excel datayı dosyalara bölerek mail atmak

  • Konbuyu başlatan Konbuyu başlatan murbal
  • Başlangıç tarihi Başlangıç tarihi
Katılım
21 Aralık 2005
Mesajlar
39
Excel Vers. ve Dili
Win XP, office 2007 - ing.
Merhaba,

Uzun süredir işin içinden çıkamıyorum. lütfen yardımcı olur musunuz. Şöyleki;
Ekli dosyadaki sheetlere göre

1. Excel "gönderilecek_data" sayfasında 1. satırdaki tüm başlıklar (Satır) sabit olacak ve a1 hücresine göre sortlayacak ve a2 hücresinin ismini vererek ayrı bir dosya yapacak (izmit.xls, osmanbey.xls vb.).

2. Bu dosyaları ayrı ayrı "gonderilecek_email_list" sayfasındaki mail adreslerine mail atacak. izmit.xls dosyasının gonderilecek_email_list deki 2. ve 3. satırlardaki mail adresine gönderecek ancak to ve cc ye listedeki gibi ayrı isimler gelecek.

excel datası sağ tarafa doğru ve aşağıya doğru uzayabilir, bazı hücreler boş geçebilir bunları da dikkate almalıyız.

Bunu yapabilirsek sizlere minnettar kalırım. şimdiden ilginize teşekkür ederim.

Saygılarımla,
 

Ekli dosyalar

Bana yardımcı olacak arkadaş yok mu? Lütfen yardımcı olun, bu işi bir türlü yapamadım. veya bunun yerine farklı bir çözüm de olabilir o da işimi görür şöyle ki;

bir folderda ayrı ayrı dosya halinde olan (izmit.xls, osmanbey.xls vb.) dosyaları dosya adına bakarak excel deki "gonderilecek_email_list" deki isimlere bir metin dahilinde mail atması da olabilir.

Biliyorum biraz komplike bir şey ama olabilir gibi geliyor bana.
Tşk,
Syg,
 
Aşağıdaki kodu dener misiniz ?
Kod:
Sub OutlookMsgGönder()
    Dim app As Outlook.Application
    Dim posta As Outlook.MailItem
    Dim MyFile As String, MailAdresi As String, yol As String
    Dim ds As Object, dc As Object, f As Object, dosya As Object
    Dim i As Integer
    
    yol = "C:\deneme\"
    Set ds = CreateObject("Scripting.FileSystemObject")
    Set f = ds.GetFolder(yol)
    Set dc = f.Files
        
        For i = 2 To [a65536].End(3).Row
          For Each dosya In dc
            If Left(dosya.Name, Len(dosya.Name) - 4) = Cells(i, 1) Then
                    MyFile = dosya.Name
                    MailAdresi = Cells(i, 3)
                    Set app = CreateObject("Outlook.Application")
                    Set posta = app.CreateItem(olMailItem)
                         With posta
                              If Cells(i, 4) = "to" Then
                                 .To = MailAdresi
                              Else
                                  .CC = MailAdresi
                              End If
                               '.BCC =
                               .Subject = Date & " Günlük Rapor"
                               .Body = "Merhaba" & Chr(13) & Chr(13) & Date & " tarihli rapor ektedir" & Chr(13) & Chr(13) & "İyi Çalışmalar."
                               .Attachments.Add yol & MyFile
                              '.Display
                               .Send
                         End With
                      Set app = Nothing
                      Set posta = Nothing
                End If
           Next
        Next

'**********************************************************************
'Referanslardan Microsoft Outlook X.X Object Library seçili olmalıdır.*
'**********************************************************************
End Sub
 
:(

'**********************************************************************
'Referanslardan Microsoft Outlook X.X Object Library seçili olmalıdır.*
'**********************************************************************
bunu nasıl ve nereden yapacağım?

ayrıca şu hatayı verdi: compile error, user-defined type not defined
 
:(

benim excel 2003-ing ve dediğiniz yerde microsoft office outlook view control var sadece, eksik olabilir mi veya 2003 de bu şekilde mi geçiyordur... syg,
 
Referanslardan "Microsoft Outlook 11.0 Object Library" referansı seçiniz.
 
tamam buldum onu çok özür. burada Set f = ds.GetFolder(yol) hata verdi.
 
:(

tamam hiç hata almaz hale getirdim ama hiç bir şey olmuyor çalıştıkça ama hata da vermiyor
 
Dosyalarınızın bulunduğu yolu kendinize göre uyarlamalısınız.
 
:(

Merhaba,

yazılıma bakarak c nin altına folder açarak dediğinizi yapmıştım ve macroyu bir butona bağladım fakat hiçbir işlem yapmıyor macro yani çalılşyor ve bitiyor sadece. F8 tuşu ile ne yaptığına bakıyorum ama hiç bir işlem de olmuyor zaten.

yazılımda bir şey değiştirmem gerekmiyor değil mi? ben sadece yazılıma göre c nin altına deneme adında folder açarak dosyayı orya kayıt ettim.

siz de çalışıyor mu yazılım?

ne olur çözün şu sorunumu
 
A sütunundaki Şube adları ile dosya isimlerinizin aynı olması gerekiyor. Buraya dikkat ettiniz mi ?
 
hata verdi

evet dediğinize dikkat ettim, fakat şimdide hata verdi.

run-time error '-1698676731 (9ac04005)':

outlook does not recognize one or more names

debug tıkladığımda .send i sarı işaretliyor.

Bunun haricinde birde şu mesaja yes diyen bir şey ekleyebilir miyiz her seferinde yoksa yes demem gerekecek. outlook ile ilgili küçük bir pencere çıkıyor.

galiba sonuna doğru geliyoruz.

Güzel haberlerinizi heyecanla bekliyorum.

Syg,
 
:(

evet süper mail atmaya başladı. Ancak;

1nci sorun; bir mailde hem to hem cc yapmıyor, bunun yerine 2 mail atıyor birincide to ya gönderiyor ikinci de cc ye.

2nci sorun; mail atarken bir ekran çıkıyor ona da otomatik olarak yes deme şanşımız var mı?

Dosyanın son hali ekte bunun üzerinde gidebilir miyiz?

tşk,
 

Ekli dosyalar

1nci sorun; bir mailde hem to hem cc yapmıyor, bunun yerine 2 mail atıyor birincide to ya gönderiyor ikinci de cc ye.
Satırda yazdığınız şekilde gönderiyor.
2nci sorun; mail atarken bir ekran çıkıyor ona da otomatik olarak yes deme şanşımız var mı?
Güvenlik ayarları ile ilgili olmalı, güvenlik ayarlarınızı değiştirerek dener misiniz ?
 
:(

Ancak, ben 1 mailde to ve cc yapmak istiyorum. yani 1. satırda yazdığı gibi to da olanlara to, 2. satırda cc de olan isimleri de aynı mailde cc yapması. Bu mümkün olamaz mı?

güvenlik ayarını Low yaptım ama tekrar soruyor. neyse yukarıdaki sorunu çözelim de diğeri deve de kulak artık :)
 
Ancak, ben 1 mailde to ve cc yapmak istiyorum. yani 1. satırda yazdığı gibi to da olanlara to, 2. satırda cc de olan isimleri de aynı mailde cc yapması. Bu mümkün olamaz mı?
Bence, bir sütuna, cc yapacağınız mail adreslerini başka bir sütuna ise to yapacağınız mail adreslerini girerseniz daha iyi olur. Kodu da buna göre düzenleriz.
 
olur tabi, o zaman hatta 2 ayrı sayfaya yapsak daha iyi olmaz mı? ben örnek bir dosya hazırladım. to ve cc adında 2 sayfamız oldu.

bu dosya üzerinden gidebiliriz.

yüzdük yüzdük kuyruğuna geldik gibi :)
 

Ekli dosyalar

Ben yeni bir dosya hazırladım. Bir de bunu deneyin.
 

Ekli dosyalar

Geri
Üst