• DİKKAT

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

Explorer de option'u seçtirme

Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
Herkese iyi günler...

Excelden intranet ortamında explorera veri girişi sağlamaktayım ancak option'u ne yaptıysam seçtiremedim. Örneğin, T. VAKIFLAR BANKASI'nı seçtirmek istiyorum. Yardımcı olursanız sevinirim.

Explorer kaynağı;
Kod:
</tr>
					<tr>
						<th align="right" width="209"><font color="red">*</font> BANKA ADI :</th>
						<td width="305"><select id="f:cBnk" name="f:cBnk" class="selectOneMenu" size="1">	<option value="-1">BANKA ADI SEÇİNİZ</option>
	<option value="1">T.C. MERKEZ BANKASI</option>
	<option value="4">İLLER BANKASI</option>
	<option value="10">T.C. ZİRAAT BANKASI</option>
	<option value="12">HALK BANKASI</option>
	<option value="109">TEKSTİL BANKASI A.Ş.</option>
	<option value="111">FINANSBANK A.Ş.</option>
	<option value="123">HSBC BANK A.Ş.</option>
	<option value="14">T. SİNAİKALK. BANKASI A.Ş.</option>
	<option value="15">T. VAKIFLAR BANKASI</option>
	<option value="16">T. İHRACAT KREDİ BANKASI A.Ş.</option>
	<option value="17">T. KALKINMA BANKASI</option>
	<option value="29">BİRLEŞİK FON BANKASI A.Ş.</option>
	<option value="32">T. EKONOMİ BANKASI A.Ş.</option>
	<option value="46">AKBANK T.A.Ş.</option>
	<option value="59">ŞEKERBANK T.A.Ş.</option>
	<option value="62">T. GARANTİ BANKASI A.Ş.</option>
	<option value="64">T.İŞ BANKASI A.Ş.</option>
	<option value="67">YAPI VE KREDİ BANKASI A.Ş.</option>
	<option value="71">FORTİS BANK A.Ş.</option>
	<option value="92">CITIBANK A.Ş.</option>
	<option value="96">TURKISHBANK</option>
	<option value="99">ING BANK</option>
	<option value="100">ADABANK A.Ş.</option>
	<option value="134">DENİZBANK A.Ş.</option>
	<option value="135">ANADOLU BANK A.Ş.</option>
</select></td>
					</tr>
					<tr>

Explorer'a veri girişi sağlayan VBA kodu;
Kod:
Dim IE As Object  'İnternet Explorer için değişken tanımı
Sub Menu_()
Call ie_olustur  'Bilgi girişi yapılacak internet sayfasının açılması.
Call Sorgu   'Sorgulama işleminin başlatılması.
End Sub
Sub bekle()
With IE
Do Until .readyState = 4: DoEvents: Loop
Do While .Busy: DoEvents: Loop
End With
End Sub
Sub ie_olustur()
Set IE = CreateObject("InternetExplorer.Application")   'İnternet sayfası bir değişkene aktarılıyor.
IE.Visible = True  'Sorgulama sırasında internet sayfasının görünür olmasını sağlıyor. False olursa görünmez.
IE.navigate "http://kh000uyg02.jgnk.tsk/WebVkfIslemleri/kullanici/FrmPrsGD.faces"   'İnternet sayfası açılıyor.
Call bekle  'İnternet sayfasının tamamen açılması bekleniyor.
End Sub
Sub Sorgu()
'Döngü ile plaka numaraları alınmaya başlıyor.
For satir = 3 To [A65536].End(3).Row
plaka = Cells(satir, 1).Value  'Sorgulanacak plaka okunuyor.
        
'Html kodunda “input” html tagı ile başlayan satırları “objCollection” değişkenine aktarılıyor.
Set objCollection = IE.document.getElementsByTagName("input")

'6. Madde de plaka girilecek diye not aldığımız kodları burada kullanıyoruz. Tüm “input” tagları arasında
'name = "ctl00$ContentPlaceHolder1$txtPlakaNo"
'id="ctl00_ContentPlaceHolder1_txtPlakaNo"  olan “input” kodunu arıyoruz.

i = 0
Do While i < objCollection.Length
If objCollection(i).Name = "f:txtKmlYeni" And objCollection(i).ID = "f:txtKmlYeni" Then
'İnternet sayfasındaki  PLAKA kutusuna plaka yazılıyor.
objCollection(i).Value = plaka
'Döngüden çıkılıyor.
Exit Do
End If
i = i + 1
Loop

'10. Madde de sorgu başlatılacak diye not aldığımız kodları burada kullanıyoruz. Tüm “input” tagları arasında
'Name = "ctl00$ContentPlaceHolder1$btnHazırla"
'type="submit" olan “input” kodunu arıyoruz.
            
Set objCollection = IE.document.getElementsByTagName("input")
i = 0
Do While i < objCollection.Length
If objCollection(i).Name = "f:btnBul" And objCollection(i).Type = "submit" Then
'İnternet sayfasında “sorgula” butonuna tıklanıyor.
objCollection(i).Click
'Döngüden çıkılıyor.
Exit Do
End If
i = i + 1
Loop
Call bekle
Set objCollection = IE.document.getElementsByTagName("input")
k = 0
Do While k < objCollection.Length
If objCollection(k).Name = "f:txtSube" And objCollection(k).ID = "f:txtSube" Then
'İnternet sayfasında “sorgula” butonuna tıklanıyor.
objCollection(k).Value = "1"
'Döngüden çıkılıyor.
Exit Do
End If
k = k + 1
Loop
End Sub
 
Bu nesnenin bir adı veya id' si olması lazım.

Kod:
ie.document.all("comboadı").value = "1" 'Merkez Bankası için
 
Belkide bunlardardan birtanesi olur

not:kırmızı yerlerin adı yanlışsa siz düzeltin

Kod:
IE.document.all("[COLOR=red]f:cBnk1[/COLOR]")(0).Checked = True
 
IE.document.all("[COLOR=red]f:cBnk1[/COLOR]")(1).Checked = True
 
IE.document.all("[COLOR=red]f:cBnk1[/COLOR]").selectedIndex = [COLOR=red][B]1[/B][/COLOR]
 
Kod:
IE.Document.getElementsByName("f:cBnk")(0).Value = "T.C. MERKEZ BANKASI"
ya da
Kod:
IE.Document.getElementByID("f:cBnk")(0).Value = "1"

gibi de deneyebilirsiniz...
 
Cevaplar için çoook teşekkür ederim. Sağlıcakla kalın....
 
Son düzenleme:
Geri
Üst