Hace algunas semanas aprendimos cómo enviar datos masivos desde Excel, usando VBA, hacia una Hoja de Cálculo de Google como si fuese nuestra base datos en línea (Enlace). ¿Cuál fue el problema que encontramos? Al enviar vocales con tilde o letras eñe, sean mayúsculas o minúsculas, la Hoja de Cálculo no las reconocía y no las consideraba, es decir, hacía como que no existían pues ni siquiera dejaba espacios en blanco en su reemplazo.
El problema era la codificación que usa Google para los caracteres Ascii extendidos. Como no es difícil identificarlos, en este caso vamos a resolverlo con una Función Definida por el Usuario (UDF por sus siglas en inglés) que convierte los caracteres que nos interesan en esta ocasión, en códigos que Google pueda identificar. Entonces, copien y peguen la siguiente UDF en un módulo del archivo:
Function Cambiacodificacion(Textoinicial) As String
Dim Base(1 To 12) As String, CodigoG(1 To 12) As String
Dim TextoFinal$, Codificado$
Dim x As Integer, y As Integer
Base(1) = "Á": CodigoG(1) = "%C3%81"
Base(2) = "É": CodigoG(2) = "%C3%89"
Base(3) = "Í": CodigoG(3) = "%C3%8D"
Base(4) = "Ó": CodigoG(4) = "%C3%93"
Base(5) = "Ú": CodigoG(5) = "%C3%9A"
Base(6) = "á": CodigoG(6) = "%C3%A1"
Base(7) = "é": CodigoG(7) = "%C3%A9"
Base(8) = "í": CodigoG(8) = "%C3%AD"
Base(9) = "ó": CodigoG(9) = "%C3%B3"
Base(10) = "ú": CodigoG(10) = "%C3%BA"
Base(11) = "Ñ": CodigoG(11) = "%C3%91"
Base(12) = "ñ": CodigoG(12) = "%C3%B1"
For x = 1 To Len(Textoinicial)
Codificado = Mid$(Textoinicial, x, 1)
For y = 1 To 12
If Codificado = Base(y) Then Codificado = CodigoG(y): Exit For
Next y
TextoFinal = TextoFinal + Codificado
Next x
Cambiacodificacion = TextoFinal
End Function
misDatos = "entry.734588322=" & Range("A" & x) & "&entry.1744113014=" & Cambiacodificacion (Range("B" & x)) & "&entry.283729869=" & Range("C" & x) & "&entry.1406906612=" & Range("D" & x)
¿Notaron el cambio? Una vez hecho eso, podemos usar vocales con tilde, en nuestros datos de Excel, o la letra eñe ya sean mayúsculas o minúsculas y al enviar todo a Google, no tendremos dilema alguna y las veremos tal cual lo enviado. Todo se vería así:
Y listo amigos/as, resuleto el problema ya si desean usar más caracteres queda como tarea de todos/as agregarlos, no es difícil esa parte. ¡Hasta la próxima!
Abraham Valencia
Lima, Perú
No hay comentarios.:
Publicar un comentario