Soru Mail Gönderimi Sonrası Excelin Donması

Katılım
24 Temmuz 2019
Mesajlar
181
Excel Vers. ve Dili
2010 ve 2016 Türkçe
Altın Üyelik Bitiş Tarihi
19-10-2023
Merhaba arkadaşlar. Aşağıdaki kod ile mevcut sayfayı bilgisayara kaydedip sonrasında ilgili e posta adresine mail göndermekteyim. Fakat makroyu kullandıktan sonra bazen excel donuyor ve sağ alttaki outlook simgesi gri renge bürünüp kapatılıyor diyor. Ama kapanmıyor. Outlook uygulaması kapanmadığı içinde excel donuyor. Görev yöneticisinden elle kapatmam gerekiyor Outlook uygulamasını. Bu sorunu çözmenin bir yolu var mı?


Kod:
If ActiveSheet.Name = "ALPER" Then
ActiveWorkbook.SaveAs "C:\Users\XXX\Desktop\TEKNİK FORM\ALPER\" & SayfaAdi & Format(Now, " dd-mm-yyyy") & "-" & Format(Now, "hh-mm-ss") & ".xlsx", FileFormat:=xlWorkbookDefault

    Onay = MsgBox("Dosyayı ALPER firmasına mail olarak göndermek istiyor musunuz?", vbYesNo, "Uyarı !")
   
    If Onay = vbYes Then
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
        On Error Resume Next
            With OutMail
                .To = "deneme.mail@test.com"
                .CC = ""
                .BCC = ""
                .Subject = "Teknik Form: Alper"
                .Body = "Merhaba," & Chr(10) & Chr(10) & "Teknik form ektedir." & Chr(10) & Chr(10) & "iyi calismalar."
                .Attachments.Add ktp.FullName
                'You can add other files also like this
                'DosyaYolu = "C:\Users\section2\Desktop\"
                '.Attachments.Add (DosyaYolu & xKriter & ".xlsx")
                .Send   'or use .Display
            End With
        On Error GoTo 0

       
        Application.ScreenUpdating = True
        Set OutMail = Nothing
        Set OutApp = Nothing

    End If


End If
 

Korhan Ayhan

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

Standart mail gönderme kodlarını kullanıyorsunuz. Normalde bir sorun olmaması gerekir.

Belki Outlook referansını işaretlereyerek kullanmak çözüm olabilir.

VBA bölümünde TOOLS-REFERENCES menüsünden aşağıdaki ekrana erişim sağlayarak seçili olan referansı sizinde seçmeniz gerekiyor. Versiyon numarası sizde farklı olabilir. Bu bir sorun teşkil etmez.

236153

Sonrasında aşağıdaki kod satırını bir sonraki gibi değiştirip deneyiniz.

Set OutApp = CreateObject("Outlook.Application")

Olması gereken;

Set OutApp = New Outlook.Application

Konuyla ilgili linkin faydası olabilir.

 
Katılım
24 Temmuz 2019
Mesajlar
181
Excel Vers. ve Dili
2010 ve 2016 Türkçe
Altın Üyelik Bitiş Tarihi
19-10-2023
Merhaba,

Standart mail gönderme kodlarını kullanıyorsunuz. Normalde bir sorun olmaması gerekir.

Belki Outlook referansını işaretlereyerek kullanmak çözüm olabilir.

VBA bölümünde TOOLS-REFERENCES menüsünden aşağıdaki ekrana erişim sağlayarak seçili olan referansı sizinde seçmeniz gerekiyor. Versiyon numarası sizde farklı olabilir. Bu bir sorun teşkil etmez.

Ekli dosyayı görüntüle 236153

Sonrasında aşağıdaki kod satırını bir sonraki gibi değiştirip deneyiniz.

Set OutApp = CreateObject("Outlook.Application")

Olması gereken;

Set OutApp = New Outlook.Application

Konuyla ilgili linkin faydası olabilir.

Desteğiniz için teşekkür ederim hocam. Bahsettiğiniz çözüm işe yaramadı. Ama paylaştığınız linkteki kodlardan yola çıkarak göndermeden önce ".Display" fonksiyonu ile görüntüleyip ondan sonra ".Send" fonksiyonu ile otomatik gönder şeklinde düzenlediğimde sorunum çözülmüş oldu. Bunun haricinde Outlook uygulamasının arka planda hep çalışması gerekecek. Eğer çalışmadan makroyu aktif edersem, mailin karşı tarafa ulaşması için Outlook uygulamasını elle açmam gerekecek.
 
Üst