• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Web den sahur iftar saatlerini otomatik alma yapılır mı?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Excelismail

Yeni Üye
Katılım
22 Mar 2022
Mesajlar
170
Çözümler
2
Aldığı beğeni
57
Excel V
Office 365 TR
Hayırlı Ramazanlar, hayırlı günler.

Ekte eklediğimi Tüm illerin excel ramazan 2022 imsakiyesine ve inşallah gelecek seneler de dahil olmak üzere illerin sahur ve iftar vakitlerini otomatik olarak eklenebilir mi?

Eğer olursa; İmsak ve iftar bilgileri Din İşleri Yüksek Kurulu : Dini Bilgilendirme Platformu siteden gelecek. Çalışma sayfası Vakitler sayfası; A sütüne iller, B sütün tarih, C sütun sahur ve D sütun iftar olarak gelsin.
 

Ekli dosyalar

Tam bitmedi ama yinede dosyayı ekleyeyim bitincede eklerim iftar geldi.
Sonrasında eklerim.

Sabit sayfasına Bayram saatleri tarihleri ve kadir gecesini aldırdım.
Grafikleri tekrar ayarlamalısınız ve Bayram saatleri tarihleri ve kadir gecesini imsakiye sayfasına bağlantılı resim olarak otomatik yapabilirsiniz.

Comboboxun üstüne Getir adında buton ekledim ona tıklayın.
 

Ekli dosyalar

Bu kadar olduktan sonra bir combo daha eklenip ilçe seçilip ona görede veriler alınır alında hazır kod varken :)
İlgili sitede il seçtirdim kodla ve ilçede aynı il ismi olan ile seçtirdim.
Mesela il olarak istanbul seçildiyse ilçe olarakta istanbul olarak arattırdım.ilçe olarak mesela istanbulun ilçeside seçtirilebilinir.
Ama çok acayip kod oldu :) yada bana öyle geliyor internetten veri çekmeyi bilmediğim için.
 
Refaz Hocam;
Ben 7 numaralı mesajda eklediğiniz dosyayı aldım ve kendim yapmaya çalışıyorum.
Daha önce hiç Webden veri çekmediğim için sayfa, tablo yapısı gibi en temel özelliklere ulaşma noktasında bile ciddi sıkıntı yaşıyorum.
Bu dosyada başarılı bir sonuç çıkarabilirsem ilk defa Webden veri çekmiş olacağım. Kolay gelsin.
 
Refaz Hocam;
Ben 7 numaralı mesajda eklediğiniz dosyayı aldım ve kendim yapmaya çalışıyorum.
Daha önce hiç Webden veri çekmediğim için sayfa, tablo yapısı gibi en temel özelliklere ulaşma noktasında bile ciddi sıkıntı yaşıyorum.
Bu dosyada başarılı bir sonuç çıkarabilirsem ilk defa Webden veri çekmiş olacağım. Kolay gelsin.
Aslında bir sürü kod var internetten veri çekme ile.
Ayrıca hızlı olanda MSXML2.XMLHTTP ile daha hızlısıda var ama burda Comboboxa veri gönderip sonra internet sayfadaki verileri değiştirme olmuyor galiba.
Bu yüzden klasik explorer ile aç kapatma ile yaptım ve alttaki gibi onchange ile işlem yapılıyor MSXML2.XMLHTTP ile bulamadım onchange olayını.
İnternettn veri çekme olayına biraz gıcık olmuştum bundan dolayı uğraşmamıştım.
Aslında kodlar hep kalıp abey.Sadece siteden incele yapıp gerekli id,class,tagname vb.. gibi şeyleri bilmek vede bende tam bilmiyorum biraz araştırmıştım önceden.
Rich (BB code):
.getElementById("cphMainSlider_solIcerik_ddlSehirler").FireEvent "onchange"
 
Sahur D2 ve iftar E2 vakti kısımları; saat ve dakika getiriyor. zaman güncel olmasına rağmen oruç tutulmuş gibi ve F2 sütunu aşağıya kadar Allah Kabul Etsin yazıyor. D2 ve E2 sütunlarına gün, ay ve sene nasıl eklenecek?
 
Koddaki döngü yerini alttaki ile değiştirin.

Ama D ve E sütunlarındaki hücrelere tek tek çift tıklayıp çıkmak gerek ve biçimi saat yapmak gerekiyor yoksa formül çalışmıyor.
Bunu çözemedim.
Çözersem paylaşırım.Ama pek zamanım olmaz bu hafta.

Rich (BB code):
For x = 2 To 35
    son = .Cells(Rows.Count, 1).End(3).row + 1
    If Len(Trim(arr(x, 2))) > 0 Then
        tarih = CDate(Format(Mid(arr(x, 2), 1, InStrRev(arr(x, 2), " ") - 1), "dd.mm.yyyy"))
        .Cells(son, 1).Value = tarih
        .Cells(son, 4).Value = Format(tarih & " " & arr(x, 3), "dd.mm.yyyy hh:mm:ss")
        .Cells(son, 5).Value = Format(tarih & " " & arr(x, 7), "dd.mm.yyyy hh:mm:ss")
    End If
Next x
 
Siteden sadece saat geldiği için böyle.Yada vakitler sayfasına nerden veei aldıysanız ordanda çekilebilinir belki.
 
Yada ilgili kodu alttaki gibi yaparsanız A sütunu tarih olarak oluşur.
Formülle aranız iyiysede formülü buna görede yapabilirsiniz.
A sütununn biçiminide Tarih olarak değiştiriseniz gün olarakta görükür.
Neyse çok mesaj yazdım yine.Siz uğraşın ben zaman buluesamda bakarım.

Kolay gelsin.

Rich (BB code):
For x = 2 To 35
    son = .Cells(Rows.Count, 1).End(3).row + 1
    If Len(Trim(arr(x, 2))) > 0 Then
        tarih = CDate(Format(Mid(arr(x, 2), 1, InStrRev(arr(x, 2), " ") - 1), "dd.mm.yyyy"))
        .Cells(son, 1).Value = tarih
        .Cells(son, 4).Value = arr(x, 3)
        .Cells(son, 5).Value = arr(x, 7)
    End If
Next x
 
Buyurun, dosyamız hazır. Açılan WEB sayfası üzerinde sırayla bütün illeri ve ilçeleri tek tek değiştirip veriyi alıyor. 81 İL VE YAKLAŞIK 900 ilçenin tamamı... Kontrol eder misiniz?
 

Ekli dosyalar

Sn. ubak hocam şu an işteyim. Telefon dan anlamak zor. Akşam eve gelince en müsait zamanda geri dönüş yapsam olur mu?
 
Sıkıntı yok. Ne zaman müsait olursanız...
 
Doğru soru şudur:
Bu kodları neden hızlandıramayız?

Cevap:
1- İlk defa webden veri çektim. Bu sebeple işim acemisiyim.
2- Aynı işi daha hızlı yapacak kod yazılabilir mi bilmiyorum.
3- Gelelim esas meseleye.

Biz veriyi çekmek için bir siteye bağlanıyoruz. Sonra il ve ilçe seçip tabloyu ekranımıza getiriyoruz.
Problem şu ki iller ve ilçelerin sayısı neredeyse 1000 tane. Bu şu demek 81 kere il olmak üzere toplamda 1000 kere seçim yapıp siteye sorgu göndereceğiz ve cevap gelmesini bekleyeceğiz. Diyelim ki sorgu 2 saniyede tamamlanıyorsa biz hata almamak için 3 saniye bekleyeceğiz. Her sorgu 3 saniye sürse zaten 3 bin saniye eder. 3000/60 = 50 dakika eder. Bu sürenin üstündeki 3-5 dakika da bizim dosyamızın veri işleme süresi olur.
Özetle dosyamız yavaş çalışmıyor. Yapılan işin yapısı gereği çok vakit alıyor. Bu sebeple çok fazla hızlandırılabileceğini düşünmüyorum. Şöyle düşünün, şehrin bir ucundan öbür ucuna bir adet kibrit çöpü taşıyacaksınız. Yükünüz çok hafif ama yolunuz çok uzun...
 
Anladım hocam. bilmezliğime verin. Bu tablo hiç ellemeden seneye otomatik tarihleri güncel olarak çekecektir dimi?
 
Diyanet İşleri Başkanlığı bu sitenin yapısını değiştirmediği sürece çeker. Seneye öbür seneye...
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst