- 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ğı;
Explorer'a veri girişi sağlayan VBA kodu;
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
