перевод текста документа MS Word с использованием кода VBA - PullRequest
1 голос
/ 02 марта 2020

Я новичок в VBA и хочу перевести текстовый документ на другой язык (английский sh на телугу): 1. открыть документ 2. выбрать дырочный текст 3. отправить ключи для перевода 4. скопировать переведенный текст 5. Вставьте этот документ или замените его в активном документе. 6. Сохраните и закройте Код:

Public Sub text_translate()
Dim insert As String
ActiveDocument.Select
Selection.Copy
SendKeys "%rls~" 'Alt+Review+Translate+Translate Selected Text'
insert = "file:///C:/Users/puser/AppData/Local/Microsoft/Windows/INetCache/Content.MSO/A343AB40.html"
insert.Copy
insert.Paste
ActiveDocument.save
ActiveDocument.close
End Sub

Если есть какой-либо другой способ перевода, пожалуйста, укажите, что это поможет мне, спасибо, я уже опубликовано в сообществе Microsoft https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-mso_win10-mso_365hp/ms-word-vba-code-automating-language-translation/ffffeaca-c87e-4bad-b8a1-e8dd23fa5f88?tm=1583086073941 Я получил повтор, который вы видите, но я все еще не могу решить

Я пробовал метод веб-слом, я не знаю, является ли он правильным или пересекает правила

, но все еще возникают проблемы с копированием переведенного текста

см. код:

Publi c Sub Translate_text ()

Dim IE As Object 'for browser

ActiveDocument.Select       'select text from open document
Selection.Copy              'copy selected text

Set IE = CreateObject("InternetExplorer.Application")   'Create object for IE
With IE
    .Visible = True
    .navigate "https://translate.google.com/#view=home&op=translate&sl=auto&tl=te"      'opening the following Url
Set IEdoc = IE.Document ' get complete webpage as document through this we can access html tags

IEdoc.all.Source.Value = Selection   'paste selected copied text in textarea
 Dim ele As MSHTML.IHTMLElement         'for search element
Dim eles As MSHTML.IHTMLElementCollection 'for collection of elements
Set eles = IEdoc.getElementsByTagName("div") 'search by classname at first position

Для каждого элемента в элементе

If ele.innerText ("class") = "кнопка копирования tlid-copy-translation-button" Затем "проверка элемента в коллекции элементов" Я хочу скопировать переведенный текст "проблема с это "ele.Click", если эль элемент найден, затем нажмите на кнопку, чтобы скопировать переведенный текст

Else End If Next ele

End With .Quit 'закрыть браузер ActiveDocument.SendKeys = "^ v"' вставить в активный документ. Сохранить. Закрыть

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