• DİKKAT

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

Web Otomasyonu

Katılım
21 Temmuz 2019
Mesajlar
4
Excel Vers. ve Dili
2016 Türkçe
Herkese merhaba,
Siteye yeni üye oldum, ve VBA'ya yeni başladım. Şu an webten veri almayla ilgili bir çalışma yapıyorum. Sorun şu ki, bir aşamada takıldım ve ilerleyemiyorum. Yapmaya çalıştığım şey, A sütünuna yazdığım ingilizce kelimeleri otomatik olarak cambridge online sözlükten bulup hemen karşısındaki hücrelere açıklamalarını yapıştırmak. Şu ana kadar yazdığım kod ile A1 hücresindeki kelimeyi arama kutusuna aktarıp sonuç sayfasına gidebiliyorum, ancak açılan sayfada ilgili kısımdaki bilgileri(tanımları ve örnekleri) excel'e aktaramıyorum. Yardımcı olabilirseniz çok sevinirim. Yazdığım kod şu şekilde:

Sub Kelimeara()

Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLButtons As MSHTML.IHTMLElementCollection
Dim HTMLButton As MSHTML.IHTMLElement

IE.Visible = True
IE.Navigate "www.dictionary.cambridge.org"

Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop

Set HTMLDoc = IE.Document
Set HTMLInput = HTMLDoc.getElementById("cdo-search-input")
HTMLInput.Value = ThisWorkbook.Sheets(1).Range("A1").Value

Set HTMLButtons = HTMLDoc.getElementsByClassName("cdo-search__button")
HTMLButtons(0).Click

End Sub

Tıklamayı yaptıktan sonra açılan sayfanın tanım ve örneklerin olduğu kısmı incele dediğimde, "class" etiketi altında "pos-body" şeklinde görünüyor. "getelementsByClassName" fonksiyonuyla çekmeye çalıştım ama hata veriyor. Bu aşamada destek olabilirseniz çok memnun olurum, şimdiden teşekkürler.
 
Örnek çalışma linktedir. Geliştirmesi size aittir. ;)
GetMeaningsCambridgeDictionary
Üstat, elinize emeğinize sağlık, muhteşem olmuş. Ben gerekli bazı değişiklikleri yaptım, örneğin alternatif tanımları ve örnekleri de bulup, yandaki hücreye yazıyor şu an. Ancak WORD sütununa başka kelimeler ekledim, ve butona bastığımda sırayla tüm kelimeler için aynı işlemi yaptıramıyorum. Örneğin çevirmek istediğim 50 kelime var, ve butona bastığımda tek tek her kelime için aynı işlemleri yapması lazım. Bununla ilgili ne yapmam lazım yardımcı olursanız minnettar olurum. (Acemi olduğum için zorlanıyorum, ama öğreninceye kadar bir bilene sormak en doğrusu sanırım:))
 
Linkteki dosya ile tekrar deneyiniz.
Dosya
Çok teşekkürler, ben uğraşıp kalan hataları gidermeye çalışacağım, mesela 10 kelimeyle denedim, bazı kelimeleri iki kez ya da üç kez veriyor, sebebini şu an çözemedim ama bir kaç değişiklik deneyeceğim, desteğinize minnettarım!
 
Geri
Üst