Bir web sitesini (VBA ile) denetlerken ve bir tablodaki seçili öğelerin tümünü silmeye çalışırken, bunların tümünü gerçekten silmek isteyip istemediğimi soran bir Javascript pop-up'ım olsun. (Tamam veya İptal). Bu ortaya çıktığında, vba kodum durur ve bir insan düğmeyi tıklayana kadar başka bir şey yapmayacaktır.VBA'dan Javascript İletisi İletisini Temizle
Bunu biraz araştırdım ve HTML düğmesi için onClick olayının değiştirilmesinin teoride işe yarayacağı anlaşılıyor, ancak henüz çalışmaya devam edemedim. Aşağıda, düğmenin HTML kodu, sonraki Javascript kodu ve ardından VBA kodum var.
HTML Düğme
<p>Delete: <input type="button" name="button_Delete" value="Delete" onclick="doDelete('c');"> <span class="note">Deletes all selected charts.</span></p>
<p>Move to: <select id="select_Lists" name="select_Lists">
JavaScript, HTML Düğme sonra
<a href="javascript:doDeleteList('169', 'C');">Delete List</a> |
VBA Kod tüm HTML tablosundan seçilen Sil
Dim ieDelete as HTMLInputButtonElement
SetieDelete = IE.Document.getElementsByName("button_Delte")(0)
Sleep(500)
ieDelete.removeAttribute("onClick")
Sleep(500)
ieDelete.setAttribute "onClick", "return true;"
Sleep(500)
ieDelete.Click
VBA'yi olduğu gibi çalıştırdığınızda, Javascript ileti kutusunu görüntülemeye devam eder. ieDelete.setAttribute "onClick", "" eklemeye teşebbüs ettim, ancak tüm etkinliği silme işlemini bitirdim, bundan sonra hiçbir şey yapamadım.
Ve ... Kayıt için, başka bir seçeneği açıklayan bir yazı gördüm, ancak senaryoda nasıl kullanılacağını anlayamadım. Respond to Website Message Box by Automating InternetExplorer with VBA
Yardım için şimdiden teşekkür ederiz. ieDelete.Click
çağırmadan önce aşağıdaki VBA kodu kullanarak yerleşiğini javascript confirm
fonksiyonu üzerine yazın:
Inanılmaz! Harika çalıştı. Bu ileti kutusunun kalıcı olarak devre dışı bırakılmadığını, ancak bunun yerine yalnızca bu çalışma için olduğunu mu sanıyorum? –
Evet. Sadece o run için. Gezinirken veya yenilendiğinde, orijinal işlev geri yüklenir. –
Mükemmel. Yardım için tekrar teşekkür ederim. –