• 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ü Koşula göre webden veri alma

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.

burakgunes

Yeni Üye
Katılım
12 Ağu 2021
Mesajlar
65
Çözümler
1
Aldığı beğeni
23
Excel V
Office 365 TR
Merhaba bir vba koduna ihtiyacım var



Linkteki sayfa yüklenirse makro 1 i çalıltıracak sayfa yüklenmez is makro 2 çalışacak

Web den json ile veri çekiyorum kendi excellime fakat server da dış ip iç ip sorunu olduğu için ayrı makroları tek buton ile çalıştırmak istiyorum teşekkürler
 
Çözüm
Merhaba örneğinizi inceledim fakat benim istediğim şu şekilde "http://192.168.13.250/baybossWebAndroid/Home/login" benim iç ip adresim eğer bu sayfa yükleniyorsa makro bir otomatik çalışsın eğer yüklenmiyorsa makro iki çalışsın Siz dış ip olduğunuziçin iilk verdiğim ip adresi her türlü çalışıyor zaten bu p adresi üzerinden daha net bir sonuç elde edebiliriz belki
Yüklediğim örnek üzerinde değişiklik yaptım dener misiniz?

Değişiklik ise şöyle;
webbrowser1 nesnesi adresi yüklemeye başlıyor. Belirli bir süre do loop ile döngüye giriyor, bu döngü içerisinde webbrowser1 nesnesinin yüklemesinin tamamlanıp tamamlanmadığını kontrol ediyor. Bu süre zarfında yükleme bitmezse makro2 çalışıyor biterse makro1 çalışıyor.

Not...
Çok emin değilim ama deneyin.
Kod:
Sub ac()
    Application.DisplayAlerts = False
    adr = "http://84.51.59.99/baybossWebAndroid/Home/login"
    On Error GoTo 1
    ActiveWorkbook.FollowHyperlink Address:=adr, NewWindow:=True
    Application.DisplayAlerts = True
    Call makro1
    Exit Sub
1:
    Call makro2
    Application.DisplayAlerts = True
End Sub
 
Userform üzerinde webbrowser ile yapılmış bir örnek hazırladım.
Kontrol eder misiniz?
 

Ekli dosyalar

Çok emin değilim ama deneyin.
Kod:
Sub ac()
    Application.DisplayAlerts = False
    adr = "http://84.51.59.99/baybossWebAndroid/Home/login"
    On Error GoTo 1
    ActiveWorkbook.FollowHyperlink Address:=adr, NewWindow:=True
    Application.DisplayAlerts = True
    Call makro1
    Exit Sub
1:
    Call makro2
    Application.DisplayAlerts = True
End Sub
Merhaba maalesef çalışmadı Sayfa yüklensede yüklenmesede ilk makroyu çalıştırıyor
 
Userform üzerinde webbrowser ile yapılmış bir örnek hazırladım.
Kontrol eder misiniz?
Merhaba örneğinizi inceledim fakat benim istediğim şu şekilde "http://192.168.13.250/baybossWebAndroid/Home/login" benim iç ip adresim eğer bu sayfa yükleniyorsa makro bir otomatik çalışsın eğer yüklenmiyorsa makro iki çalışsın Siz dış ip olduğunuziçin iilk verdiğim ip adresi her türlü çalışıyor zaten bu p adresi üzerinden daha net bir sonuç elde edebiliriz belki
 
Merhaba örneğinizi inceledim fakat benim istediğim şu şekilde "http://192.168.13.250/baybossWebAndroid/Home/login" benim iç ip adresim eğer bu sayfa yükleniyorsa makro bir otomatik çalışsın eğer yüklenmiyorsa makro iki çalışsın Siz dış ip olduğunuziçin iilk verdiğim ip adresi her türlü çalışıyor zaten bu p adresi üzerinden daha net bir sonuç elde edebiliriz belki
Yüklediğim örnek üzerinde değişiklik yaptım dener misiniz?

Değişiklik ise şöyle;
webbrowser1 nesnesi adresi yüklemeye başlıyor. Belirli bir süre do loop ile döngüye giriyor, bu döngü içerisinde webbrowser1 nesnesinin yüklemesinin tamamlanıp tamamlanmadığını kontrol ediyor. Bu süre zarfında yükleme bitmezse makro2 çalışıyor biterse makro1 çalışıyor.

Not: Burada şöyle bir sıkıntı var. Kendi bilgisayarınızda da yükleme uzun sürebilir bu durumda makro2 çalışır. Ayrıca webbrowser adrese sorgulama yaptıktan belli bir süre sonra sayfa yüklenmiş olsa da yüklenmemiş olsada "readystate.complete" olarak tanımladığı için belirlediği süreden önce complete olursa hangi ip adresinde olursa olsun yine makro1 çalışır.
 

Ekli dosyalar

Çözüm
Ayrıca yerel ip adresinin tespiti için bkz:
Kod:
Public Function getMyIP()
    'Related Reference - Microsoft WMI Scripting V1.2 Library (wbemdisp.TLB)
    'Define Variable Data Types
    Dim objWMI As Object
    Dim objQuery As Object
    Dim objQueryItem As Object
    Dim vIpAddress
   
    'Create WMI Object
    Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
   
    'Query WMI
    Set objQuery = objWMI.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
   
    'Loop Thru all assigned IP Addresses
    For Each objQueryItem In objQuery
        Debug.Print vbCrLf & "All Assigned IP Addresses"
        For Each vIpAddress In objQueryItem.IPAddress
            Debug.Print "User IP - " & vIpAddress
        Next
    Next
   
End Function

Düzeltme: Kod bana ait değil. Daha önce kod arşivine aldığım bir kodmuş, kaynağı tam olarak neresiydi hatırlamıyorum.
 
Son düzenleme:
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst