Excel içinde Mail gönderme sorunu

Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
Yapmış olduğum bir tablo var Bu tabloda gramaj takibi yapıyorum.Buna bir buton yaptım ve mail dediğim anda outlook'a excel dosyası olarak ek yapıp belirli kişilere mail atıyor.aynı excel tablosunuda c:\ üzerindeki bir klasöre kopya yapıyor.Burda mail gönderirken sıkıntı yaşıyorum 1-2 defa deneyince gönderebiliyorum yada attachment ettiği excel çalışma kitabı boş çıkıyor.Anlayan biri varsa kodu bir inceleyip düzeltebilirmi.

saygılarımla

***********************

Dosya'daki parola kaldırıldı.Hata için özür dilerim.

Saygılar..
 

Ekli dosyalar

Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Dosyanızı foruma eklerken lütfen şifresiz ekleyin. Bu şekilde size yardımcı olamayız.
 
Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
Üstat Parolayı kaldırdığımı sanıyordum.Şu anda Beceremiyorum.nasıl yapıcam saygılar.

Parolayı kaldırdım
 
Son düzenleme:
Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
Yokmu, cevap verecek bir excel üstadı :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub AKTİF_SAYFADA_SEÇİLİ_ALANI_MAİL_AT()
    '*** Referanslardan Microsoft Outlook XX.X Object Library işaretli olmalıdır. ***'
    Application.ScreenUpdating = False
    Dim OutApp As Outlook.Application
    Dim NewMail As Outlook.MailItem
    Dim Mail_Dosyası As String
    
    Mail_Dosyası = "C:\Gramaj Raporu\Rapor\" & "Gebze " & Range("E1") & " Günlük Gramaj Raporu.xls"
    Sheets("Gramaj").Copy
    With ActiveSheet
        .Cells.Validation.Delete
        .DrawingObjects.Delete
        .Cells.Copy
        .Cells.PasteSpecial Paste:=xlPasteValues
        .Application.CutCopyMode = False
        .Range("A1:C2").Select
    End With
    ActiveSheet.PageSetup.PrintArea = "$A$1:$G$94"
    ActiveWindow.Zoom = 80
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=Mail_Dosyası
    Application.DisplayAlerts = True
    ActiveWorkbook.Close
    Application.ScreenUpdating = True
    
    Set OutApp = New Outlook.Application
    Set NewMail = CreateItem(olMailItem)
    With NewMail
    .To = "[EMAIL="erkan.karakaya@gmail.com"]erkan.karakaya@gmail.com[/EMAIL]"
    .Subject = "Gebze " & Range("E1") & " Tarihli Gramaj Raporudur"
    .Body = "Gebze " & Range("E1") & " Tarihli Gramaj Raporudur"
    .Attachments.Add Mail_Dosyası
    '.Display 'Maili direk göndermez. Ekrana getirir.
    .Send 'Maili direk gönderir.
    End With
    Set OutApp = Nothing
    Set NewMail = Nothing
End Sub
 
Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
Korhan Üstadım, Göndermiş olduğunuz kodu denedim.Gayet sağlıklı çalışıyor fakat düzeltilmesi gereken bir problem var.
ekli dosya formatını kaybediyor.Şöyleki ekli dosyayı açınca hücreler daralıyor ve data validation (personel bilgilerinin olduğu) kısım ekli tabloya geçiyor.bunu nasıl düzeltebilitiz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki mesajımdaki kodu güncelledim. Orjinal sayfayı kopyalayarak yeni dosyayı oluşturuyor. Sayfa ayarları birebir kopyalanıyor. İncelermisiniz.
 
Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
Korhan Hocam,
Kodu denedim mükemmel olmuş ellerinize sağlık.Yalnız çok küçük bir sorunum daha var.Bu tabloyu 3 vardiya kullanıcaklar ve her 3 vardiya bitiminde gönderim olacak.Ben tablonun her vardiya bitiminde dosya ismine göre ayrıca kaydolmasını istiyorum- xxxx 01.04.2009-1624.xls Dosya ismine mail gönderimi sırasında otomatik olarak saat veya vardiya eklemek mümkünmü

saygılarımla
 
Üst