• DİKKAT

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

İnternet bağlantı kontrolü

Katılım
4 Kasım 2006
Mesajlar
115
Excel Vers. ve Dili
Excel 2003 İngilizce
Selamlar,

günlük olarak internetten hava verilerini bir excel dosyasına indirip kayıt edeceğim bir excel hazırlamaya çalışıyorum. Okadar uğraşmama rağmen yapamadığım bir konu var. Forumdaki örnekleri inceledim ama maalesef uygulayamadım.

Şöyleki örnek ekli dosya için bilgisayarda zamanlanmış görev düzenledim. Günün belli saatlerinde bu dosya açılıp hava verilerini alıp kaydedip otomatikma kapanıyor. bunu yapmamın sebebi bu dosyayı bir access dosyasında veri kaynağı olarak kullanmam. Excel dosyası sürekli açık olduğu zaman access hata veriyor.

neyse işin özü ekli dosyadaki excel açıldığında internet bağlantısı mevcut ise işleme devam etsin. internet bağlantısı yok ise direkt kapansın...

Eminim üstadlar için kolay bir iştir.

şimdiden teşekkürler...
 

Ekli dosyalar

ilginiz için teşekkürler korhan bey,

aslında tam aradığım bir örnek ama kendi dosyama nasıl uygulanacağını beceremedim. Size gerçekten zahmet yaratmayacak ise benim örnek dosyaya uygulayabilir misiniz? değilse canınız sağolsun. teşekkürler...
 

Ekli dosyalar

Selamlar,

Örnek dosyanız üzerinde gerekli düzenlemeler yapılmıştır. İncelermisiniz.

Kullanılan kod;

Boş bir modüle;

Kod:
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 Aux As String * 255
    Dim Kontrol As Long
    Kontrol = InternetGetConnectedStateEx(Kontrol, Aux, 254, 0)
    If Kontrol = 1 Then
        CheckInternetConnection = True
    Else
        CheckInternetConnection = False
    End If
End Function

Başka bir modüle;

Kod:
Sub TEST()
    If (CheckInternetConnection = False) Then
    MsgBox "İnternet bağlantısı şu anda kurulamıyor." _
    & Chr(10) & "Lütfen daha sonra tekrar deneyiniz.", vbCritical, "Dikkat !"
    End If
End Sub
 

Ekli dosyalar

Korhan bey gerçekten çok teşekkür ederim... Elinize sağlık...
 
Merhaba,
Arkadaşlar,
Sayın msalvarli'nin izniyle, bu dosyayı kendi bölgemize uyarlama konusunda yardımcı olabilir misiniz? Yani bölge veya şehir seçimini hangi kodlarla alıyorsunuz?
 
sayın acolkesen1 hangi şehirleri istiyorsunuz... Örnek şehir ismi belirtirseniz size benim kullandığım excel e benzer birşey yapıp foruma ekleyebilirim...

ben standart bazı şehirleri kullandığım için excelde "Data/import external data/new web query" kısmına daha önce seçmiş olduğum şehrin url'sini giriyorum.

izmir için url
http://www.meteor.gov.tr/tahmin/il-ve-ilceler.aspx?m=IZMIR

ankara için url
http://www.meteor.gov.tr/tahmin/il-ve-ilceler.aspx?m=ANKARA

böylelikle günlük olarak verileri excel'e kaydediyorum...
 
Merhaba Sayın msalvarli,
Verdiğiniz bilgiler için teşekkür ederim.Ancak türkçe exceldeki karşılığını yazabilirseniz sevinirim. Esen kalın..
 
Son düzenleme:
selamlar,

"veri / dış veri al / web sorgusu" şeklinde olması gerekir. İyi çalışmalar dilerim....
 
Hocam aşağıdaki kodda işyeri bilgisayarında hata verdi ama şahsi bilgisayarımda hata vermedi güvenlik duvarından kaynaklı olabilirmi?

Kod:
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
 
Merhaba,

32 Bit / 64 Bit durumları olabilir.

Eğer işyerinde 64 Bit kullanıyorsanız Declare ifadesinden sonra PtrSafe yazmalısınız.
 
Aşağıdaki gibi her iki durumu da destekler. Denemedim ama büyük ihtimalle çalışacaktır.

C++:
#If VBA7 Then
Private Declare PtrSafe Function InternetGetConnectedStateEx Lib "wininet.dll" _
(ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, _
ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long
#Else
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
#End If
 
Bende bu örneği soracaktım hocam deneyip bilgilendireceğim sizi. Teşekkürler
 
Hocam her iki versiyonda da gayet güzel çalıştı teşekkür ederim.
 
Geri
Üst