• DİKKAT

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

Excel sayfalarını otomatik mail göndermek

Katılım
30 Kasım 2006
Mesajlar
625
Excel Vers. ve Dili
OFFICE 2003 Türkçe
Merhaba;
Programımın içinde bulunan "Stok" ve "Veresiye" isimli excel sayfalarını Program açık ise saat 18.00 de Xxxxxxx@hotmail adresine otomatik olarak Outlook tan göndermek istiyorum.Forum üzerinde bununla ilgili bulduğum kodları denedim ancak hata vermekte. Bu konuda yardımcı olabilirseniz sevinirim. Saygılarımla

Programımın adı : "İŞİTME CİHAZ TAKİP"
Dosya yolu :"C:\Documents and Settings\pinar\Belgelerim\İŞİTME CİHAZ TAKİP.xls"
 
Son düzenleme:
Mehaba;
Arkadaşlar yazdığım konu ya çok önemsiz, yada zor, Forumdaki hocalarım için zor olmadığını, hatta çok basit olduğunu biliyorum ama, nedense kimse ilgilenmedi. Forum üzerindeki mevcut kodların çoğunu uygulamaya çalıştım ama bir türlü başaramadım. Tools> References> Outlook 11.0 Object Library işaretini koydum, ama bir türlü olmadı. Tekrar teşekkür ederim. Saygılarımla
 
. . .

Çalışma kitabında başka sayfalarda var mı.

. . .
 
Hocam ilginize çok teşekkür ederim.Yazdığım bu iki sayfadan başka sayfa yok
 
. . .

Kodları yeni bir modüle yapıştırın.

Kod:
Sub Auto_Open()
Başla:
    DoEvents
    If Time = "18:00:00" Then[COLOR="DarkGreen"] ' Saat Ayar Kısmı[/COLOR]
        kod
    Else
        GoTo Başla
    End If
End Sub
 
Sub kod()

    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    Dim xlOutlook   As Object
    Dim xlMail      As Object
    Set xlOutlook = CreateObject("Outlook.Application")
    Set xlMail = xlOutlook.CreateItem(0)

    With xlMail
        .To = "[B]mailadresi@gmail.com[/B]"
        .Subject = "[B]Konu20[/B]"
        .Attachments.Add ThisWorkbook.FullName
        .Send
    End With
    
    Set xlMail = Nothing
    Set xlOutlook = Nothing

    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub

. . .
 
Hocam ben sorunuzu yanlış anladım, dosyada bir çok sayfa var , ancak mail atılacak sayfa iki adet Stok ve Veresiye isimli sayfalar
 
Office 2003 kullanıyorum
 
Son düzenleme:
. . .

Kod:
Sub Auto_Open()
Başla:
    DoEvents
    If Time = "18:00:00" Then ' Saat Ayar Kısmı
        kod
    Else
        GoTo Başla
    End If
End Sub
 
Sub kod()

    With Application
        .EnableEvents = False
        .ScreenUpdating = False
        .DisplayAlerts = False
    End With

    aktifsayfa = ActiveSheet.Name
    yol = ThisWorkbook.Path
    isim = "\yenikitap.xlsm"
    Sheets(Array("Stok", "Veresiye")).Select
    Sheets(Array("Stok", "Veresiye")).Copy
    ActiveWorkbook.SaveAs Filename:= _
    yol & isim, FileFormat:=xlExcel8, ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Save
    ActiveWindow.Close

    Dim xlOutlook   As Object
    Dim xlMail      As Object
    Set xlOutlook = CreateObject("Outlook.Application")
    Set xlMail = xlOutlook.CreateItem(0)

    With xlMail
        .To = "mailadres@mail.com"
        .Subject = "Konu2"
        .Attachments.Add yol & isim
        .Send
    End With
    
    Kill yol & isim
    Set xlMail = Nothing
    Set xlOutlook = Nothing

    Sheets(aktifsayfa).Select
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
        .DisplayAlerts = True
    End With
End Sub

. . .
 
Son düzenleme:
Sayın Hüseyin Hocam Merhaba;
Kodu ekledim; Saati geldiğinde çalıştı. İki sayfayı ayrı bir kitap yaptı ama aşağıdaki hatayı verdi.
ActiveWorkbook.SaveAs Filename:= _
yol & isim, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Ayrıca ------ If Time = "18:00:00" Then ' Saat Ayar Kısmı
kod --------
Buradaki "kod" üzerinde hata verdi
 
Son düzenleme:
Hocam utanarak yazıyorum ama aynı hatayı yine verdi. Ayrıca "kod" un önüne ekleyeceğimiz bir şey varmı çünkü önce orada hata verdi, Onu pasif yapınca yine aynı hatayı verdi
ActiveWorkbook.SaveAs Filename:= _
yol & isim, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
 
.

Yanlış kodu kullanıyorsunuz.
9 nolu mesajımdaki kodu deneyiniz.

.
 
Hocam 9 nolu mesajı kopyaladım aynı hatayı verdi.

yol & isim, FileFormat:=xlExcel8, ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Save
ActiveWindow.Close

Ayrıca "kod" yerine "Call.kod" mu demeliyiz çünkü önce onda hata veriyor. Pasif yapınca yukarıdaki hatayı veriyor.
 
. . .

Hata aldığınız dosyayı görmek gerekiyor. Test ediyorum bende hata vermiyor.
Gönderirseniz dosyanızı inceleyebiliriz.

. . .
 
Hocam dosyayı olabildiğince küçültüp gönderiyorum. Kod modül 1 içinde. Yalnız anladığım kadarı ile Auto Open saat makrosu kasıyor.Kodları Reset Yapmadan program çalışmıyor
 
Son düzenleme:
. . .

Verdiğim kodları, kendi kodlarınızla birleştirirken hata yapmışsınız.

Sub Kod() başlığı ayrı bir modülde veya en altta auto_open dan bağımsız olmalı.
Birleştirme kısmında başlığı iptal ederek auto_open içine alarak yanlış yerleştirmişsiniz.

Dosyanıza gelince, dosya yapınız istediğiniz işleme uygun değil.
Saat kontrolüne başlayınca artık diğer kodlarınızı çalıştıramazsınız.

Otomatik açılışta olmazda, dosyadaki işleriniz bittikten sonra buton vs. ile artık saat kontrolünü başlatabiliriz.

. . .
 
Hocam programı hazırlamam zaman aldı, biraz budadım.Ekte gönderiyorum. Kod Modol1 içinde. Sanırım Auto Open saat çalışması programı aptallaştırıyor.
 

Ekli dosyalar

Son düzenleme:
Sayın Emir Hüseyin Hocam merhaba,
Ekli dosyamı sizin dediğiniz gibi düzelttim. Açılış ekranına doğrudan düğme yaptım ama yine aynı hatayı vermekte.
Dosyayı kaldırıp yeni haliyle tekrar ekledim. Eğer tekrar kontrol edebilirseniz çok sevinirim.Saygılarımla
 
. . .

Dosyanız ektedir.
Artık butonu tıklayınca saat kontrolüne başlar.
Maili gönderdikten sonra saat kontrolünden çıkar.

. . .
 

Ekli dosyalar

Geri
Üst