Google Translate текст только если он не английский - PullRequest
0 голосов
/ 04 февраля 2019

Я импортирую оповещения Google в свой лист Excel, и я пытаюсь использовать только код перевода Google, который у меня есть, если текст не на английском языке.Поскольку код очень медленный.И я импортирую до 1000 строк текста.Большинство из них уже на английском языке.Но в настоящее время мой код переводит каждую строку.

Public Sub Translate()

    Const MAX_WAIT_SEC As Long = 5
    Dim IE As New InternetExplorer
    Dim t As Date
    Dim ws As Worksheet
    Dim ftext As String
    Dim x
    Dim y As Long
    Dim translation As Object
    Dim translationText As String

    y = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
    Set ws = ThisWorkbook.Worksheets("Google_Notifications")
    For x = 1 To y
        With IE
            .Visible = False
            .Navigate "https://translate.google.com/#view=home&op=translate&sl=auto&tl=en"
            While .Busy Or .ReadyState < 4: DoEvents: Wend
            ftext = Sheet1.Range("C" & x).Value
            .Document.querySelector("#source").Value = ftext
            While .Busy Or .ReadyState < 4: DoEvents: Wend
            t = Timer
            Do
                On Error Resume Next
                Set translation = .Document.querySelector(".tlid-translation.translation")
                translationText = translation.textContent
                On Error GoTo 0
                If Timer - t > MAX_WAIT_SEC Then Exit Do
            Loop While translationText = vbNullString
            Sheet1.Range("C" & x).Value = translationText
            Sheet1.Range("E" & x).Value = "Translated"
            .Quit
            Set IE = Nothing
            Set translation = Nothing
            translationText = ""
        End With
    Next x

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...