• DİKKAT

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

Google Çeviri (translate)

  • Konbuyu başlatan Konbuyu başlatan halit3
  • Başlangıç tarihi Başlangıç tarihi
Halit hocam sadece belirli hücreleri çevirip, yeni çeviriyi üzerine yazmak istiyorrsak nasıl yapabiliriz? 2-3 hücre için örnek verebilir misiniz?
Teşekkürler
 
kod A sutununda ki yazılı olan kelimeleri B sutununa çeviri yapıyor.
 
Merhaba,

@halit3 beyin kodunu aşağıdaki gibi değiştirirsek istediğiniz sonuca ulaşabilirsiniz.

Sayfada çevirilmesi gereken İngilizce kelimeleri içeren alanı seçip kodu öyle çalıştırın.

Çeviriler verilerin üzerine yazılacağı için dikkatli kullanınız.

Kod:
Option Explicit

Sub verial2()
    Dim URL As String, IE As Object, Alan As Range, veri1 As Variant
    
    URL = "https://translate.google.com.tr/#auto/tr"
    Set IE = CreateObject("InternetExplorer.Application")
    
    IE.Width = 100
    IE.Height = 100
    IE.Left = 10 '250
    IE.Top = 0
    IE.navigate URL
    IE.Visible = 1
    Do Until IE.ReadyState = 4: DoEvents: Loop
    Do While IE.Busy: DoEvents: Loop
    
    Application.Wait (Now + TimeValue("00:00:01"))
    'On Error Resume Next
    For Each Alan In Selection
        IE.document.all("source").Value = Alan.Value
        Application.Wait (Now + TimeValue("00:00:01"))
        Do Until IE.ReadyState = 4: DoEvents: Loop
        Do While IE.Busy: DoEvents: Loop
        Application.Wait (Now + TimeValue("00:00:01"))
        
        veri1 = IE.document.getElementsByTagName("span")(23).InnerText
        
        If veri1 = "Çeviri" Then
            veri1 = IE.document.getElementsByTagName("span")(24).InnerText
        End If
        
        If veri1 = "Çevriliyor..." Then
            veri1 = IE.document.getElementsByTagName("span")(25).InnerText
        End If
        
        Alan.Value = veri1
    Next
    
    IE.Quit: Set IE = Nothing
    MsgBox ("Bitti")
End Sub
 
Korhan Bey, bir butona bağlayarak belirli bir iki hücre için çeviri yaptıramaz mıyız?
 
Cevat Bey,

Kod içinde ki Selection yazan yere Range("A1:A10") gibi yazarsanız hücre adresi belirtmiş olursunuz.

Kodu dilediğiniz gibi butona tanımlayıp kullanabilirsiniz.
 
Merhaba bende şu şekilde bi kod yazdım ama function hatası var gözüküyor yardımcı olabilir misiniz?



Public Function TERCUME(kelime As Range, FROM As String, TO As String)

Dim ie As New InternetExplorer
Dim doc As HTMLDocument

fromto = "from=" & FROM & "&to=" & TO
ie.navigate "https://www.bing.com/translator?" & fromto & "&setlang=tr"
ie.Visible = False

Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

Set doc = ie.document
Set kelimex = doc.getElementsById("tta_input_ta")(0)
kelimex.Value = kelime

Set cevap = doc.getElementsById("tta_output_ta")(0)
TERCUME = cevap.innerText

ie.Quit
Set ie = Nothing
End Function
 
Geri
Üst