Я новичок в 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"' вставить в активный документ. Сохранить. Закрыть