[Çözüldü]  Mail Gönderiminde İnternet Bağlantısı Denetleme

API - Application Programming Interface
Yazılım Programlama Arayüz Uygulaması

Mail Gönderiminde İnternet Bağlantısı Denetleme

İleti#1)  vapeolog » 20 Arl 2015 08:13

Merhaba arkadaşlar,

Projemdeki makroların birinde koşula dayalı mail gönderimi sağlıyorum fakat eğer outlook ya da internet bağlantı hatası olursa;
runtime hatası veriyor ve mecburen "end" butonuna basıyorum.Bu nedenle de userformlar üzerinden çalışan excel projem çökmüş oluyor.
Bu problemi çözmek için, yukarıda bahsettiğim koşul sağlandığında mail göndermeden önce internet bağlantısını denetlemesini ve eğer bir problem varsa mail gönderimi yerine bağlantı hatası mesajı verip diğer görevlerine kaldığı yerden devam etmesini istiyorum.
Aşağıdaki kodlarla bu problemi çözebilirim diye die düşünüyorum fakat bir yerde bir problem var ve çözebilmiş değilim.
İncelermisiniz?(32 bit office kullandığım için PtrSafe kullanmam gerektiğin okumuştum.)
Kod: Tümünü seç
Option Explicit

Public Declare PtrSafe Function InternetGetConnectedState _
        Lib "wininet.dll" (lpdwFlags As LongPtr, _
        ByVal dwReserved As Long) As Boolean

Public Function CheckInternetConnection() As Boolean
    Dim Aux As String * 255
    Dim Kontrol As Long
    Kontrol = InternetGetConnectedState(Kontrol, Aux, 254, 0)
    If Kontrol = 1 Then
        CheckInternetConnection = True
    Else
        CheckInternetConnection = False
    End If
End Function


bu da mail gönderiminde yapmaya çalıştığım bağlantı denetlemesi;
Kod: Tümünü seç
            If (CheckInternetConnection = False) Then
                MsgBox "İnternet bağlantısı şu anda kurulamıyor." _
                & Chr(10) & "Lütfen daha sonra tekrar deneyiniz.", vbCritical, "Dikkat !"
                Else
                Call TEMP_HATA_KAYIT.TEMP_HATA_KAYIT
                Call HATA_KAYIT.HATA_KAYIT
                Call HATA_KAYIT_GONDER.HATA_KAYIT_GONDER
             End If
Kullanıcı avatarı
vapeolog
Yeni Başlamış
 
Kayıt: 09 Arl 2015 01:30
Meslek: öğrenci
Yaş: 32
İleti: 14
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: izmir/bornova

Cevap: mail gönderiminde internet bağlantısı denetleme

İleti#2)  Ali ÖZ » 21 Arl 2015 12:27

Merhaba,
Outlook açık mı kontrolü için ,
Kod: Tümünü seç
Sub outtest()
    Dim oOutlook As Object
    On Error Resume Next
    Set oOutlook = GetObject(, "Outlook.Application")
    On Error GoTo 0
    If oOutlook Is Nothing Then
        MsgBox "Outlook kapalı,açılsın mı ?"
    End If
End Sub


İnternet bağlantısı kontrolü için iki farklı modüle bu kodları yazın.
Modül1;

Kod: Tümünü seç
Option Explicit

Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" _
(ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, _
ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long

Public Function CheckInternetConnection() As Boolean
    Dim bag As String * 255
    Dim Kontrol As Long
    Kontrol = InternetGetConnectedStateEx(Kontrol, bag, 254, 0)
    If Kontrol = 1 Then
        CheckInternetConnection = True
     Else
        CheckInternetConnection = False
    End If
End Function


Modül2;
Kod: Tümünü seç
Sub internettest()
    If (CheckInternetConnection = False) Then
     MsgBox "İnternet bağlantısı yok." & Chr(10) & "Daha sonra tekrar deneyiniz."
    End If
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 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9299
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: mail gönderiminde internet bağlantısı denetleme

İleti#3)  vapeolog » 26 Arl 2015 00:16

Ali Bey,
Çok teşekkür ederim.
İki farklı modül yerine function ile test makrosunu aynı modeüle alıp çalıştırdım.
Tam istediğim gibi oldu.
Tekrardan teşekkürler.
Kullanıcı avatarı
vapeolog
Yeni Başlamış
 
Kayıt: 09 Arl 2015 01:30
Meslek: öğrenci
Yaş: 32
İleti: 14
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: izmir/bornova

Cevap: Mail Gönderiminde İnternet Bağlantısı Denetleme

İleti#4)  Ali ÖZ » 28 Arl 2015 14:21

Rica ederim hoşça kalın.
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 12:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 37
İleti: 9299
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Forum Excel ve API

Online Kullanıcılar

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

Bumerang - Yazarkafe