Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > Diğer Yazılımlar > WEB Tasarım&Programlama > JavaScript
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 02-09-2006, 14:01   #1
draydix
 
Giriş: 26/09/2004
Mesaj: 62
Excel Vers. ve Dili:
Ofis XP Türkçe
Varsayılan Internet Explorer ile iletişim

Arkadaşlar
Veterinerlikle ilgili, hayvan ve hayvanlara yapılan işlemlerin tutulduğu resmi bir
siteden, bir excel listesindeki hayvanlara ait bilgileri sorgulayıp, karşılaştırma yapmam gerekiyor.

Aşağıdaki kodla ancak giriş sayfasını geçebiliyorum,

Dim IE
Set IE = CreateObject("internetexplorer.application")
With IE
.Visible = True
.Navigate "http://www.vetbis.com"
Do While .ReadyState <> 4: Loop
With .Document.all
.KULLANICI_ADI.InnerText = "xxxxxx"
.SIFRE.InnerText = "xxxxx"
Do While IE.ReadyState <> 4: Loop
'IE.Document.Forms(0).submit(1).Click
IE.document.forms(0).submit
End With
End With
Set IE = Nothing



Sorun-1 : Giriş sayfasını geçtikten sonra açılan sayfayı okuyamıyorum.
Sorun-2 : Giriş sayfasını geçtikten sonra açılan sayfadan bir butona clikleyip sorgu sayfasına gitmem gerekiyor,sorgu sayfasına direkt gidersem sorgulama yaptırmıyor.
Sorun-3: Sorgu sayfasını manuel olarak açtıktan sonra, aşağıdaki kodla iletişim kurmak istedim hata verdi.

Dim MyApp
Set MyApp = GetObject(, "InternetExplorer.Application")


Sorun-4: Masaüstünde bir URL ile açılmış olan Internet Explorer ile nasıl iletişim kurarım.
Yöntem önemli değil yeterki çözüm olsun, VB VBA Scrip vs. çözüm için farketmez


Yardım ve önerilerinizi bekliyorum.
draydix Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-09-2006, 14:43   #2
modalı
Uzman
 
modalı kullanıcısının avatarı
 
Giriş: 25/12/2005
Şehir: İstanbul
Mesaj: 4,162
Excel Vers. ve Dili:
MS Office 2010 Pro Türkçe
Varsayılan

Sayın draydix,

Sizin açtığınız sayfanın hiçbir önemi yok. Çünkü kullanıcı adı ve şifreyi
http://www.kkgm.gov.tr/index1.asp adresine yolluyor. Tabi ki kullanıcı adı ve şifre olmadan öyle bir sayfa yok uyarısı geliyor veya yok tabi şu anda bilemiyorum.

Onun için siz bu sayfaya giriş yaparak sayfayı kaydedin ondan sonra da inceleyin mutlaka kullanıcı adı va şifresiyle ile ilgili metin kutusu veya kutuları veya kullanıcı adını karşılaştıran bir script var. Ancak ortadaki olayı çözebilirseniz o sayfayı indirebilirsiniz. İndirme dediğimizde de tabi html kodlarını indiriyorsunuz demek. onları da kaydedip size gerekli olan tabloyu bulup içindeki bilgileri excel veya accesse kaydedebilirsiniz.

Benim anladığım şimdilik bu kadar

İyi çalışmalar
modalı Çevrimdışı   Alıntı Yaparak Cevapla
Eski 03-09-2006, 14:52   #3
draydix
 
Giriş: 26/09/2004
Mesaj: 62
Excel Vers. ve Dili:
Ofis XP Türkçe
Varsayılan

Sayın Modalı sayfaya normal giriş yaptığımda tüm html ve scrip kodlarını görüp inceleyebiliyorum.Sorunum Getobject yöntemini kullanamamak
draydix Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-09-2006, 14:04   #4
draydix
 
Giriş: 26/09/2004
Mesaj: 62
Excel Vers. ve Dili:
Ofis XP Türkçe
Varsayılan

Getobject yöntemi yerine, aşağıdaki kodla sınırlı da olsa sayfaya ulaştım
Sub makro1()
'On Error Resume Next
Set IE1 = CreateObject("Shell.Application")
Set IE2 = IE1.Windows
Set IE3 = IE2.Item
Cells(5, 2) = IE3.document.Title
Cells(5, 2) = IE3.document.all(1).innerText
End Sub

Ama frameli sayfalardan veri okuyamıyorum....
draydix Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-09-2006, 19:18   #5
draydix
 
Giriş: 26/09/2004
Mesaj: 62
Excel Vers. ve Dili:
Ofis XP Türkçe
Varsayılan

Bu arada ,aşağıdaki kodla sayfadaki linkleri excele yazdırabilirsiniz.
Sub linklerial()
Set IE1 = CreateObject("Shell.Application")
Set IE2 = IE1.Windows
Set IE3 = IE2.Item
Set IeDoc = IE3.Document
For i = 0 To IeDoc.links.Length - 1
Cells(i + 1, 1).Value = IeDoc.links(i).href
Next i
End Sub
draydix Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-09-2006, 23:07   #6
draydix
 
Giriş: 26/09/2004
Mesaj: 62
Excel Vers. ve Dili:
Ofis XP Türkçe
Varsayılan

Arkadaşlar
Sorunumu hala çözemedim yardımlarınızı bekliyorum.

Manuel olarak aşağıda kaynak kodu ve ekran görüntüsü olan sayfayı açıyorum.
Sorgulamak istediğim listeyi içeren Excel kitabını açıyorum
Yani masa üstünde iki uygulama açık IE ve Excel

Aşağıdaki kodlarla veri almaya çalıştığımda belirtilen hataları veriyor
Cells(5, 2) = IE3.document.frames(1).contentWindow.document.body .innerHTML 'özel durum oluştu
Cells(5, 2) = IE3.document.frames(0).document.body.innerHTML 'erişim engellendi

Ama sayfayı HTML olarak kaydedip bilgisayarımdan çalıştırdığımda aşağıdaki kod iş görüyor
…………………………………………………
'On Error Resume Next
Set IE1 = CreateObject("Shell.Application")
Set IE2 = IE1.Windows
Set IE3 = IE2.Item

x = ActiveCell.Row
Cells(x, 5) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(4).innerText
Cells(x, 6) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(5).innerText
Cells(x, 7) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(6).innerText
Cells(x, 8) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(7).innerText
Cells(x, 9) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(8).innerText
Cells(x, 10) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(9).innerText
Cells(x, 11) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(10).innerText
Cells(x, 12) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(11).innerText
Cells(x, 13) = IE3.document.all.tags("table").Item(1).Rows(1).Cel ls(12).innerText
……………………………………………………………………………………….

Sayfa kodu
……………………………………………………………………
<HTML><HEAD><TITLE>VetBis P_Query2</TITLE>

<LINK REL="stylesheet" href="P.css" type="text/css">

<SCRIPT src="../../JScript/Picture.js"></SCRIPT>
<SCRIPT src="P_Query2.js"></SCRIPT>
</HEAD>

<BODY onLoad="parent.frames['frame1'].Wait0();" onmouseover="status=''; return true;">
<TABLE width="780" cellPadding="0" cellSpacing="0" border="0">
<TR><TD align="center">

<TABLE width="780" cellSpacing=1 cellPadding=0 border="0">
<FORM name="F1" method="POST" action ="P_Query2.asp">
<TR>
<TD class="H3D" width="45" colspan="3" align="right" ID="TUMU">Tümü</TD>
<TD class="H3D" width="15"><INPUT class="cb" type="checkbox" checked name="ALL" value="" onClick="javascript:CheckAll()"></TD>
<TD class="H3D" width="90">KimlikNo</TD>
<TD class="H3D" width="87">Doğduğuİşl</TD>
<TD class="H3D" width="87">Bulunduğuİşl</TD>
<TD class="H3D" width="30">Cins.</TD>
<TD class="H3D" width="31">Nevi</TD>
<TD class="H3D" width="120">Irkı</TD>
<TD class="H3D" width="65">DoğumTarihi</TD>
<TD class="H3D" width="90">Ana</TD>
<TD class="H3D" width="90">Baba</TD>
<TD class="H3D" width="30" colspan="2">&nbsp;</TD>
</TR>

<tr bgcolor="#FFFFFF">

<TD><a href="javascript:Submit('P_Edit','TR55713332')"><i mg border="0" src="../../images/General/ListEdit.gif" Alt="Yenile"></a></TD>

<TD><a href="javascript:Submit('P_Zoom0','TR55713332','55 60180')"><img border="0" src="../../images/General/ListZoom.gif" Alt="Ayrıntılar"></a></TD>
<TD><a href="javascript:Submit('P_Print0a','TR55713332')" ><img border="0" src="../../images/General/ListPrint.gif" alt="Pasaport" width="16" height="18"></a></TD>
<TD><INPUT class="cb" type="checkbox" name="cb1" value="TR55713332" checked></TD>
<TD>TR55713332</TD>
<TD>5560180</TD>
<TD>5560180</TD>
<TD>D</TD>
<TD>S</TD>
<TD>Montofon M</TD>

<TD>01.01.2001</TD>
<TD></TD>
<TD></TD>

<TD><a href="javascript:Submit('P_Move','TR55713332')"><i mg border="0" src='../../images/General/ListMove.gif' alt='Nakil'></a></TD>

<TD><a href="javascript:Submit('P_Del','TR55713332')"><im g border="0" src="../../images/General/ListDel.gif" Alt="Sil"></a></TD>

</TR>

</FORM>
</TABLE>

<TABLE cellPadding="0" cellSpacing="0" width="100%" style="border-collapse: collapse" bordercolor="#111111">
<TR>

</TR>
</TABLE>

<BR></TD></TR></TABLE>
</BODY></HTML>
…………………………………………………….

Sayfanın ekran görüntüsü
Eklenmiş Resimler
Dosya Türü: jpg Ekran1.jpg (80.7 KB, 40 Görüntülenme)
draydix Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-09-2006, 10:35   #7
modalı
Uzman
 
modalı kullanıcısının avatarı
 
Giriş: 25/12/2005
Şehir: İstanbul
Mesaj: 4,162
Excel Vers. ve Dili:
MS Office 2010 Pro Türkçe
Varsayılan

Sayın drydix,

Benim fikrime göre siz excel üzerinden sayfaya ulaşmaya çalıştığınızda doğru sayfa gelmiyor.

Access de bu tür bir uygulama yaparken öncelikle doğru sayfanın gelip gelmediğini kontrol ediyorum. Siz excelden sayfayı çağırırken nasıl bir yol izliyorsunuz? Öncelikle şifre bölümünü geçmeniz gerekiyor. Ondan sonra da sorgulama yapıyorsunuz bağlandığınız yerin veritabanında. İşte bu noktada önemli olan doğru bağlantı adresini yollamak (sorgu cümlesi dahil)

Basit bir örnek vereyim Türk Telekom web sayfasından telefon no sorgularken şu bağlantı adresini kullanıyorum:

URL = "http://www.ttrehber.gov.tr/trk-wp/ID...h&STP=S&REQ=20"

Ancak bu yeterli değil bir de buna kendi kriterlerime göre şu eklentileri yapıyorum:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
strNAM = "&NAM=" & soyadı
    strGIV = "&DOR&GIV=" & adı
    strSTN = "&STN=" & İl
    strQNA = "&QNA=" & semt
 
    strSorgu = URL & strNAM & strGIV & strSTN & strQNA
Burada telefon numarasını bulmak istediğim kişinin soyadını, adını, ili ve semtini de URL cümlesinin sonuna ekliyorum.

Ondan sonra da

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Navigate strSorgu
        Do Until IE.readyState = 4: DoEvents: Loop
 
            temp = IE.Document.all.Item.innerhtml
Kod parçasıyla da bilgileri alacağım sayfaya ulaşıyorum.

Burada temp aldığım sayfanın html kodlarıdır..

İşte bu noktaya kadar öncelikle ulaşmanız gerekiyor. Ben temp i formdaki bir metin kutusunun içeriği olarak atıyorum ve öncelikle doğru sayfanın gelip gelmediğini kontrol ediyorum.

Bu noktaya kadar işleminiz doğru ise ondan sonra bu içeriğin içinden istediğiniz bilgileri excel sayfalarına ulaştıracak olan kod parçalarını kullanabilirsiniz.

Yani özet olarak benim örnekdeki strSorgu nun doğru olması gerekiyor ki doğru web sayfasının içeriğini indirebilesiniz.

İyi çalışmalar

Bu mesaj en son " 10-09-2006 " tarihinde saat 12:42 itibariyle modalı tarafından düzenlenmiştir....
modalı Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-09-2006, 12:41   #8
modalı
Uzman
 
modalı kullanıcısının avatarı
 
Giriş: 25/12/2005
Şehir: İstanbul
Mesaj: 4,162
Excel Vers. ve Dili:
MS Office 2010 Pro Türkçe
Varsayılan

Önceki mesajımda yazmayı unuttum.

Kullanılacak olan URL yi normal olarak açtığınız sayfanın adres bölümünden alabilirsiniz. Mesela şu an mesajı yazdığım sayfanın adresi:

http://www.excel.web.tr/newreply.php...ote=1&p=108645


İki ayrı sorgu yapıp değiştirilmesi gereken yerleri uyarlamanız gerekiyor.

İyi çalışmalar
modalı Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-09-2006, 18:57   #9
draydix
 
Giriş: 26/09/2004
Mesaj: 62
Excel Vers. ve Dili:
Ofis XP Türkçe
Varsayılan

Sayın Modalı

Sayfayı excelden açmaktan vazgeçtim.Nedeni ise;

Sayfaya şifreyle giriliyor,login olunca bir menu sayfası geliyor, oradan sorgu sayfasına geçiliyor,

Bu işlemleri kodla yapınca sayfaların yüklenmesi tamamlanamazsa hatalar oluşuyor,ayrıca kod çok uzun ve her sorgulamada sil baştan giriş yap,menuyu geç ,sorgu kriterlerini belirle bu zaman alıyor ve hatalara neden oluyor

Bana pratik bir yol lazım
Sayfayı kod yazmadan elle açmak ve excelden sorgulamak
Zaten kısmen yapıyorum,sorun sayfada frame kullanılmış ve frameden bilgileri alamıyorum.
..............................................
AppActivate ("internet explorer")
SendKeys "{TAB}", True
SendKeys "{TAB}", True
SendKeys ActiveCell, True
SendKeys "{ENTER}", True
SendKeys "^a", True
SendKeys "^c", True

...................................
gibi bir yöntem kısmen çözüm oluyor ama güvenilir bir yöntem değil.

HTML ve JScript bilgisine ihtiyacım var.
draydix Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-09-2006, 21:17   #10
Haluk
Özel Üye
 
Giriş: 07/07/2004
Şehir: Türkiye
Mesaj: 5,086
Excel Vers. ve Dili:
Office 2010 - İngilizce
Varsayılan

Bahsettiğiniz URL'i ve login kriterlerini vermediğiniz için sayfayı görme şansımız olmadı ama, bence bahsettiğiniz diğer frame aslında başka bir URL'e sahip olabilir.

Örneğin, TCMB'nin adresi;

www.tcmb.gov.tr 'dir. Bu ana sayfanın sol tarafında bir frame vardır ve bu frame'in URL'i de;

http://www.tcmb.gov.tr/yeni/tablolar.php 'dir.

Eğer sizde de durum yine böyleyse, belki frame'in URL'ini yükleyip oradan birşeyler yapabilirsiniz.

Kesin bir şeyler söylemek için bahsettiğiniz URL ve Login kriterlerini (username, password) bilmek gerekir.
__________________
Kod anlatılmaz,yazılır !
Haluk Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 05:57


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden