buscando por el foro he encontrado la siguiente macro para traducir textos del inglés al español. La he introducido en un módulo de mi hoja excel y en la celda B2 de la HOja1 he introducido la fórmula:
=fnGoogTranslate(A1;"inglés";"español")
para que me traduzca el texto que introduzco en A1. El problema que tengo es que cuando escribo el texto en A1 y le doy a ENTER me aparece el siguiente mensaje:
424 Se requiere un objeto In Function: fnGoogTranslate
Y a continuación a veces me traduce el texto y otras no.
Mi pregunta es como hacer para que la macro me funcione bien y no me aparezca este error. Supongo que estoy haciendo algo mal pero no encunentro donde me estoy equivocando. También me gustaría saber como hacer para que me traduzca también del español al francés, ¿se podría utilizar la misma macro?
Public Function fnGoogTranslate(strData As String, strLangTo As String, strLangFrom As String, Optional UniCodeID As Long, Optional Timeout As Integer = 5) As String
Dim objGoog As Object Dim strText As String Dim waittime As Date On Error GoTo Err_Handler
If strLangTo = strLangFrom Then fnGoogTranslate = strData Exit Function 'don't waste my time End If
Do Until fnGoogTranslate <> "" DoEvents Do While objGoog.busy: Loop fnGoogTranslate = objGoog.Document.all("result_box").innertext If Now() >= waittime Then 'the function timed out 'default to the origial language fnGoogTranslate = strData Exit Do End If Loop
If UniCodeID <> 0 Then fnGoogTranslate = StrConv(fnGoogTranslate, vbUnicode, UniCodeID) End If
If fnGoogTranslate = "" Or fnGoogTranslate = strData Then fnGoogTranslate = "" End If
objGoog.Quit Set objGoog = Nothing
End If
Exit Function
Err_Handler: Select Case Err.Number Case Else MsgBox Err.Number & " " & Err.Description & " In Function: fnGoogTranslate" Resume Next End Select
End Function [/PHP]
Gracias por todos y Saludos.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola,
buscando por el foro he encontrado la siguiente macro para traducir textos del inglés al español. La he introducido en un módulo de mi hoja excel y en la celda B2 de la HOja1 he introducido la fórmula:
=fnGoogTranslate(A1;"inglés";"español")
para que me traduzca el texto que introduzco en A1. El problema que tengo es que cuando escribo el texto en A1 y le doy a ENTER me aparece el siguiente mensaje:
424 Se requiere un objeto In Function: fnGoogTranslate
Y a continuación a veces me traduce el texto y otras no.
Mi pregunta es como hacer para que la macro me funcione bien y no me aparezca este error. Supongo que estoy haciendo algo mal pero no encunentro donde me estoy equivocando. También me gustaría saber como hacer para que me traduzca también del español al francés, ¿se podría utilizar la misma macro?
Google Translate by Internet Explorer Automation
A continuación pongo la macro en cuestion:
Gracias por todos y Saludos.