Numaradan Operatör Sorgulama

Excel programınıza Web Sayfalarından veri alarak çalışabileceğiniz bölüm.

Numaradan Operatör Sorgulama

İleti#1)  Murat OSMA » 18 Nis 2013 21:27

Gsm numarasının hangi operatöre ait olduğunu öğrenmek için kullanabilirsiniz... --)(

Kod: Tümünü seç
Public Rky As Object
Public adres As String, resim As String
Private Declare Function CLSIDFromString Lib "ole32" _
(ByVal lpstrCLSID As Long, lpCLSID As Any) As Long
Private Declare Function OleLoadPicturePath Lib "oleaut32" (ByVal szURLorPath As Long, _
ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, _
ByRef riid As Any, ByRef ppvRet As Any) As Long

Public Function Pic(ByVal URL As String) As Picture
    Dim IPic(15) As Byte
    CLSIDFromString StrPtr("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"), IPic(0)
    OleLoadPicturePath StrPtr(URL), 0&, 0&, 0&, IPic(0), Pic
End Function

Private Sub CommandButton1_Click()
    If TextBox1.Value = "" Then MsgBox "..::.. Cep Numaranızı Girin ..::..", _
    vbInformation + vbMsgBoxRtlReading, "..::.. Hatırlatma ..::..": Exit Sub
    Me.Height = 199
    Set Rky = CreateObject("Internetexplorer.Application")
    adres = "http://www.numaranitasi.gov.tr/PublicWebGUI/index.jsp"
    resim = "http://www.numaranitasi.gov.tr/PublicWebGUI/Captcha.jpg"
    With Rky
        .navigate adres
        Do While Not Rky.readyState = 4: DoEvents: Loop
        Image1.Picture = Pic(resim)
    End With
    TextBox2.SetFocus
End Sub

Private Sub CommandButton2_Click()
    On Error Resume Next
    If TextBox1.Value = "" Or TextBox2.Value = "" Then _
    MsgBox "..::.. İstenen Bilgileri Giriniz ..::..", _
    vbInformation + vbMsgBoxRtlReading, "..::.. Eksik Bilgi ..::..": Exit Sub
   
    With Rky
    If TextBox1.Value <> "" And TextBox2.Value <> "" Then .Visible = False
        .document.getElementsByname("msisdn")(0).Value = TextBox1.Value
        .document.getElementsByname("captchafield")(0).Value = TextBox2.Value
        .document.Forms(0).submit
    Do While Not .readyState = 4: DoEvents: Loop
    Application.Wait (Now + TimeValue("00:00:01"))
    If .document.body.innerText Like "*Avea*" Then
        Image2.Visible = True
            ElseIf .document.body.innerText Like "*Vodafone*" Then
        Image3.Visible = True
            ElseIf .document.body.innerText Like "*Turkcell*" Then
        Image4.Visible = True
    End If
    For i = 30 To 65
        .document.all.Item(i).Click
    Next i
    Do While Not .readyState = 4: DoEvents: Loop
    Application.Wait (Now + TimeValue("00:00:02"))
    .Quit
    End With
    Me.Height = 288
End Sub

Sorgulama.png
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 04 Arl 2008 22:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 35
İleti: 14363
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: Numaradan Operatör Sorgulama

İleti#2)  alican60 » 18 Nis 2013 21:35

Murat Bey kardeşim ellerine sağlık.
Kullanıcı avatarı
alican60
Siteye Alışmış
 
Adı Soyadı:ali can
Kayıt: 14 Ağu 2011 11:18
Konum: Tokat
Meslek: İnşaat Teknikeri
Yaş: 40
İleti: 392
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Eskişehir

Cevap: Numaradan Operatör Sorgulama

İleti#3)  Murat OSMA » 18 Nis 2013 22:54

Rica ederim Ali Bey. --)(
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 04 Arl 2008 22:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 35
İleti: 14363
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: Numaradan Operatör Sorgulama

İleti#4)  Enes Recep BAĞ » 19 Nis 2013 07:45

Paylaşım için [TESEKKÜR] ellerinize sağlık Murat Bey.
Kullanıcı avatarı
Enes Recep BAĞ
Forum Moderatörü
 
Adı Soyadı:Enes Recep BAĞ
Kayıt: 30 Ağu 2010 15:39
Konum: 0 549 808 82 66
Meslek: Bilgi işlem
Yaş: 37
İleti: 8269
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aksaray / Merkez

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

Cevap: Numaradan Operatör Sorgulama

İleti#5)  Bülent » 19 Nis 2013 08:15

Murat, çılgınsın. şkşk
Ve hergün çılgınlıklarına yenilerini ekliyorsun... [op]
Kullanıcı avatarı
Bülent
Yönetim Kurulu
 
Adı Soyadı:Bülent ÖZTÜRK
Kayıt: 15 Haz 2008 00:08
Meslek: Bilgi Sistemleri
Yaş: 43
İleti: 3665
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İst/Çekmeköy

Cevap: Numaradan Operatör Sorgulama

İleti#6)  Erhan Yavuz » 19 Nis 2013 08:18

Teşekkürler..Aslanım benim.. şkşk [op] şkşk
☾✭ Türkçemizi tam ve doğru kullanmaktan korkmayalım..
Teşekkür etmek Erdemdir. ECYavuz


OSMANLI OYUNU (1402-1566)
http://www.excelvba.net/viewtopic.php?f=41&t=9984

EXCEL-VBA KOD BANKASI PRO.7.0
http://www.excelvba.net/viewtopic.php?f=38&t=3304
Resim
Kullanıcı avatarı
Erhan Yavuz
Site Forum Yöneticisi
 
Adı Soyadı:Erhan Yavuz
Kayıt: 15 Haz 2008 00:13
Konum: Etiler / İstanbul
Meslek: Emekli Sb.
Yaş: 61
İleti: 5695
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Etiler

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Numaradan Operatör Sorgulama

İleti#7)  Ozan İLGÜN » 19 Nis 2013 08:34

Elinize Sağlık. [TESEKKÜR]
Kullanıcı avatarı
Ozan İLGÜN
Forum Moderatörü
 
Adı Soyadı:Ozan İlgün
Kayıt: 20 Şub 2013 12:43
Konum: İst. Maltepe
Meslek: Arşivist
Yaş: 34
İleti: 2899
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul



Cevap: Numaradan Operatör Sorgulama

İleti#8)  Murat OSMA » 19 Nis 2013 16:20

Güzel yorumlarınız için ben teşekkür ederim. :) [op]
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 04 Arl 2008 22:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 35
İleti: 14363
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: Numaradan Operatör Sorgulama

İleti#9)  ceseka » 30 Nis 2013 11:21

Gerçekten çok güzel bir çalışma.
Rica etsem bu tür çalışmaları paylaşırken hangi satırda ne işlem yapıldığına dair açıklamalarda bulunabilir misiniz?
Bu yolla belki bizlerde değişik sitelerden excele veri çekme işlemleri gerçekleştirebiliriz. Birde bu iş muhtemelen her sitede farklılıklar arz edecektir ama bu işin temellerini anlatan örnek bir form tasarlayabilir misiniz?
Kullanıcı avatarı
ceseka
 
Adı Soyadı:MUSTAFA KATIRLI
Kayıt: 30 Nis 2013 08:34
İleti: 6
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANTALYA/DEMRE

Cevap: Numaradan Operatör Sorgulama

İleti#10)  Murat OSMA » 02 May 2013 09:25

Bu bağlantıdan faydalanabilirsiniz. Size büyük faydası olacağını düşünüyorum. --)(
viewtopic.php?f=92&t=12672

Kodların açıklamaları:

Public Rky As Object
Rky asında bir Nesne türü değişken ataması yapıyoruz.

Public adres As String, resim As String
adres ve resim adında bir String türü değişken ataması yapıyoruz.

Private Declare Function CLSIDFromString Lib "ole32" _
(ByVal lpstrCLSID As Long, lpCLSID As Any) As Long

CLSID Textini Structure'a dönüştüren fonksiyon (APİ)

Private Declare Function OleLoadPicturePath Lib "oleaut32" (ByVal szURLorPath As Long, _
ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, _
ByRef riid As Any, ByRef ppvRet As Any) As Long


Public Function Pic(ByVal URL As String) As Picture
Dim IPic(15) As Byte
CLSIDFromString StrPtr("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"), IPic(0)
OleLoadPicturePath StrPtr(URL), 0&, 0&, 0&, IPic(0), Pic
End Function

Url adresindeki resmi Pic fonksiyonu ile alıyoruz.

Private Sub CommandButton1_Click()
CommandButton1 tıklama olayı
If TextBox1.Value = "" Then MsgBox "..::.. Cep Numaranızı Girin ..::..", _
vbInformation + vbMsgBoxRtlReading, "..::.. Hatırlatma ..::..": Exit Sub

Eğer TextBox boşsa uyarı mesajı verdirip prosedürden çıkıyoruz.
Me.Height = 199
UserForm'un yüksekliğini 199 olarak belirliyoruz.
Set Rky = CreateObject("Internetexplorer.Application")
Rky değişkenini Internet Explorer olarak Create ediyoruz.
adres = "http://www.numaranitasi.gov.tr/PublicWebGUI/index.jsp"
adres değişkenine gideceğimiz site adresini veriyoruz.
resim = "http://www.numaranitasi.gov.tr/PublicWebGUI/Captcha.jpg"
resim değişkenine resmin alınacağı adresi veriyoruz.
With Rky
Bundan sonraki satırlarda Rky yazmamak için With işlemini kullanıyoruz. Rky yerine . (nokta) işaretini koymamız yetiyor.
.navigate adres
adrese yönlendiriyoruz.
Do While Not .readyState = 4: DoEvents: Loop
açılan sitenin yüklemesi tamamlanana kadar dön diyoruz.
Image1.Picture = Pic(resim)
Image nesnesine resim değişkenindeki değeri alıyoruz.
End With
With işlemini sonlandırıyoruz.
TextBox2.SetFocus
TextBox2'ye gidiyoruz.
End Sub
CommanButton1'deki işlemler bitti.

Private Sub CommandButton2_Click()
CommandButton2 tıklama olayı
On Error Resume Next
Hata ile karşılaşılırsa atlayıp devam ediyoruz. Hatayı yok saydırıyoruz.
If TextBox1.Value = "" Or TextBox2.Value = "" Then _
MsgBox "..::.. İstenen Bilgileri Giriniz ..::..", _
vbInformation + vbMsgBoxRtlReading, "..::.. Eksik Bilgi ..::..": Exit Sub

Eğer TextBox1 ya da TextBox2 boşsa uyarı mesajı verdirip prosedürden çıkıyoruz.
With Rky
Bundan sonraki satırlarda Rky yazmamak için With işlemini kullanıyoruz. Rky yerine . (nokta) işaretini koymamız yetiyor.
If TextBox1.Value <> "" And TextBox2.Value <> "" Then .Visible = False
Eğer TextBox1 ve TextBox2 boş değilse Rky nin görünürlüğünü False yap. Yani; internet eplorerin açılmasını engelliyoruz.
.document.getElementsByname("msisdn")(0).Value = TextBox1.Value
adresteki telefon numarası alanına TextBox1'deki değeri yazdırıyoruz.
.document.getElementsByname("captchafield")(0).Value = TextBox2.Value
adresteki resim alanına TextBox2'deki değeri yazdırıyoruz.
.document.Forms(0).submit
sorgula butonuna tıklayoruz.
Do While Not .readyState = 4: DoEvents: Loop
açılan sitenin yüklemesi tamamlanana kadar dön diyoruz.
Application.Wait (Now + TimeValue("00:00:01"))
Bazen yükleme tamamlandığı halde isteinlen veriler alınamayabiliyor. Bunun için 1-2 saniye bekletmek gerekebiliyor.
If .document.body.innerText Like "*Avea*" Then
Eğer açılan sayfadaki Text içinde Avea geçiyorsa diyoruz.
Image2.Visible = True
Image2 nesnesini görünür yapıyoruz.
ElseIf .document.body.innerText Like "*Vodafone*" Then
Değilse eğer açılan sayfadaki Text içinde Vodafone geçiyorsa diyoruz.
Image3.Visible = True
Image3 nesnesini görünür yapıyoruz.
ElseIf .document.body.innerText Like "*Turkcell*" Then
Değilse eğer açılan sayfadaki Text içinde Turkcell geçiyorsa diyoruz.
Image4.Visible = True
Image3 nesnesini görünür yapıyoruz.
End If
Şartı sonlandırıyoruz.
------------------------------------
For i = 30 To 65
.document.all.Item(i).Click
Next i

Burada: sorgulama bittiğinde yeni sorgulamaya geçmek için bir bağlantıyı tıklamanız geçiyor o bağlantı için nesne numarası 30 ile 65 arasında olan nesneyi tıklatıyoruz. Tıklayacağınız nesnenin numarasını biliyorsanız, örneğin direkt olarak .document.all.Item(99).Click yazabilirsiniz.
------------------------------------
Do While Not .readyState = 4: DoEvents: Loop
açılan sitenin yüklemesi tamamlanana kadar dön diyoruz.
Application.Wait (Now + TimeValue("00:00:02"))
Bazen yükleme tamamlandığı halde isteinlen veriler alınamayabiliyor. Bunun için 1-2 saniye bekletmek gerekebiliyor.
.Quit
Rky nesnesinden çıkıyoruz. (Kapatıyoruz)
End With
With işlemini sonlandırıyoruz.
Me.Height = 288
UserForm'un yüksekliğini 288 yapıyoruz.
End Sub
Prosedürün sonu.

Hoşça kalın... --)(
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 04 Arl 2008 22:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 35
İleti: 14363
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: Numaradan Operatör Sorgulama

İleti#11)  askm » 14 Tem 2015 08:07

Murat bey çalışmanız ve açıklamanız için çok teşekkürler. benzer şekilde bende internetteki güvenlik kodunu excel sayfasına aldırıp sonrasında çıkan tablodan verileri aldırmak istiyorum. Benim bilgisayarım win7 64 bit (office 2010-64 bit )

Public Rky As Object
Public adres As String, resim As String
Private Declare Function CLSIDFromString Lib "ole32" _
(ByVal lpstrCLSID As Long, lpCLSID As Any) As Long
Private Declare Function OleLoadPicturePath Lib "oleaut32" (ByVal szURLorPath As Long, _
ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, _
ByRef riid As Any, ByRef ppvRet As Any) As Long

kısmını nasıl değiştirmem gerekli ki çalışsın.
Kullanıcı avatarı
askm
Siteye Alışmış
 
Adı Soyadı:ali serin
Kayıt: 29 Mar 2010 12:24
Konum: kayseri
Meslek: memur
Yaş: 40
İleti: 208
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: kayseri

Cevap: Numaradan Operatör Sorgulama

İleti#12)  Murat OSMA » 14 Tem 2015 08:34

Function kelimesinden sonraki isimler API'nin adıdır. Bu isimler için Google'da 64bit function ismi şeklinde aratırsanız cevabı bulabilirsiniz.
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 04 Arl 2008 22:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 35
İleti: 14363
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: Numaradan Operatör Sorgulama

İleti#13)  gokanayz » 13 Şub 2020 12:29

Office'in hem 32 bit hem de 64 bit sürümleri arasında bağlantı kurabilen kod yazmak için, tüm işaretçiler ve tanıtıcı değerleri için yalnızca Long veya LongLong yerine yeni LongPtr türü diğer adını kullanmanız gerekir.
Kullanıcı avatarı
gokanayz
 
Kayıt: 13 Şub 2015 11:19
Meslek: memur
Yaş: 46
İleti: 3
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İSTANBUL/SANCAKTEPE


Forum Excel ile Web Sayfaları Veri İşlemleri

Online Kullanıcılar

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

Bumerang - Yazarkafe