« Acceder a objetos OLE y ActiveX desde Java Criaturas mitológicas »
Posted on: Saturday, August 22, 2009 at 17:03 pm
programación.
Puedes seguir las respuestas de esta entrada a traves de l feed RSS 2.0.
Puedes dejar una respuesta, o trackback desde tu propio sitio.
Calculadora de rutas en Excel usando Google maps
August
22
En el artículo anterior explicaba como acceder a un objeto OLE o ActiveX desde java. En este voy a mostrar un ejemplo de como acceder al objeto OLE “Internet Explorer” desde una macro Excel para navegar a una cierta página y obtener información.
En concreto la página es google maps y la información es relativa a la distancia por carretera entre dos localidades. Para ver el ejemplo solo es necesario invocar a la función de la siguiente forma:
![]()
Aquí dejo los ficheros Excel con la función implementada para el que quiera aprender a usar esta funcionalidad o le pueda ser útil la función en si misma:
Posted on: Saturday, August 22, 2009 at 17:03 pm
programación. Puedes seguir las respuestas de esta entrada a traves de l feed RSS 2.0.
Puedes dejar una respuesta, o trackback desde tu propio sitio.











Lo primero agradecerte el pedazo de archivo. Me va a ser muy útil.
En segundo lugar, y perdona mi ignorancia, me interesa aprender como funciona para añadir nuevas funcionalidades como poder realizar los calculos con el código postal.
¿Como puedo ver el contenido de la función y no sólo el resultado?
Un saludo y gracias de nuevo.
PD. Feliz Navidad
[Responder]
sucotronic Reply:
December 23rd, 2009 at 11:17 am
@Jorge, me alegro de que te sea de utilidad. Para ver el código solo tienes que abrir el la ventana de visual basic de excel pulsando Alt+F11
Gracias y feliz navidad a ti también
[Responder]
Hola Sucotronic !!
sabes porque no funciona (ahora > nov 2010 / antes funcionaba perfectamente) la calculadora_distancias_google_maps.xls para Excel 2003 y anteriores.
Google ha cambiado algun parametro? o quizas es problema del IE ?
yo tabajo con Firefox predeterminado como explorador…aunque antes tambien y funcionava excelentemente desde excel.
¿hay algun modo de modificar el codigo, para que funcione de nuevo?
espero que tus conocimientos nos ayuden !!
gracias.
Miguel
[Responder]
sucotronic Reply:
November 15th, 2010 at 22:34 pm
@Miguel, resulta que google ha modificado la página y ha cambiado la tag de donde recogía el excel los datos. He hecho una modificación para que coja los datos de la primera ruta que muestra google (ahora siempre le da por mostrar varias) y aparecen algunos datos de más, pero por lo menos funciona y es lo más que puedo hacer por el momento.
Espero que te sea de utilidad
[Responder]
Miguel Reply:
March 24th, 2011 at 15:12 pm
@sucotronic, Sucotronic: Muchas gracias pues recibí tu explicación en noviembre…. Google ha modificado la página y ha cambiado la tag…, y desde entonces, aplicando tus cambios, funcionaba más o menos bien. Yo, con varias formulas de “limpieza”, aislaba, hasta obtener en dos casillas diferenciadas los datos “puros”: Km. y Tiempo de viaje.
Justo ayer estaba preparando, una explicación para Rube a fin de que pudiese limpiar El, sus datos… pero hoy 24.03.11 ya no vuelve a funcionar nada ¿?
Sabes si Google ha cambiado de nuevo la tag? ¿o que puede estar pasando?
Gracias de antemano
[Responder]
sucotronic Reply:
March 24th, 2011 at 19:52 pm
@Miguel, tendré que probarlo después para ver si lo han cambido. Ya te contaré.
Miguel Reply:
March 25th, 2011 at 10:17 am
@Miguel, Hola Sucotronic: Ya vuelve a funcionarme. Ahora creo que en Google Maps, no han cambiado nada. Simplemente al tener los mismos síntomas (para mi) que en noviembre, creí que habían vuelto a cambiar la tag.
, de Rube.
Creo que debía ser un error interno, de mi libro Excel. Lo curioso es que se ha pasado dos días, sin yo cambiar nada, ahora funciona, ahora no va… ahora el resultado se llena de cuadraditos, ahora va perfecto. ..¿?
En fin, de momento solucionado y gracias por vuestros consejos. Incluida la formula “mostruosa”
Miguel Reply:
April 23rd, 2011 at 11:13 am
@sucotronic,
Sucotronic , hola de nuevo. 23 abril 2011
Quería preguntarte si sabes como podría conseguir, que de la Tag donde Excel recoge los datos, analizara y me avisase si detecta, la palabra ferry entre el texto de respuesta Google maps.
Por Ejemplo: de Barcelona, Spain a Tenerife, Spain
Ya que teniendo ese dato (que hay “agua de por medio”) mecanizado, en mi panel de control, ese dato cambiaria automáticamente indicaciones muy útiles en mis hojas de ruta.
Gracias de antemano ¡!
Miguel
Ejemplo de texto real respuesta de Google Maps: Barcelona, spain a Tenerife, spain
Esta ruta cruza algún peaje. – más datos »Esta ruta incluye un ferry. – más datos »
[Responder]
sucotronic Reply:
April 23rd, 2011 at 11:46 am
@Miguel, lo mejor es usar la función Buscar de excel: el primero parámetro pasarle la llamada de la función de buscar ruta (o una celda donde está el resultado), y el segundo la palabra que buscas, “ferry”.
miguel Reply:
April 28th, 2011 at 15:39 pm
@Miguel, Uff!!
Intentare explicarme mejor. Acompaño un archivo Excel para mayor entendimiento. http://db.tt/O8XKwxi
Sucotronic, gracias por tu contestación, pero debido a que no se como modificarlo (por desconocimientos técnicos, dado que mi nivel de Excel es muy bajo), te adjunto un archivo Excel de ejemplo, a fin de que al menos puedas entender mi petición y si sabes como hacerlo, puedieras ayudarme.
Gracias de nuevo por tu tiempo ¡!
Miguel
sucotronic Reply:
April 28th, 2011 at 18:09 pm
@Miguel, lo siento, pero ahora mismo no tengo ningún ordenador con windows para probarlo. Intentaré acordarme cuando tenga uno para poder ayudarte.
Buenas,
Estoy intentando conseguir que poniendo dos direcciones en excel, me muestre la distancia de la ruta más corta.
Googleando mucho, me he topado con esta página, que es lo más parecido que he encontrado, pero el resultado que me saca en la celda tiene incluye nº, tiempo, ruta y por fin la distancia, y solo quiero que me saque el dato en km para poder trabajar luego con eso.
El problema es que no tengo conocimientos de programación y no encuentro la manera de modificarlo para obtenerlo.
[Responder]
sucotronic Reply:
January 20th, 2011 at 20:27 pm
lo más sencillo es que uses alguna función de excel para extraer la parte de la información que te interese. Por ejemplo, podría usar la función “=DERECHA(F4;6)” (suponiendo que la celda que contiene el resultado de la función de calcular distancia estuviese en la celda F4).
[Responder]
Como yo necesitaba el dato de km en limpio para trastear y hacer operaciones al final, como me recomendó sucotronic, tuve que utilizar fórmulas de excel para limpiarlo.
En concreto, mi “monstruosa” fórmula para sacarlo, evitando los errores, ha sido tal que así:
=SI((SUSTITUIR(LIMPIAR(DERECHA(G2;8));” km”;”";1))=” sRuta”;0;(SUSTITUIR(LIMPIAR(DERECHA(G2;8));” km”;”";1)))
Siendo G2 la celda donde tengo el resultado del InfoRuta.
PD: Saque la formulita hace tiempo y no recuerdo todo el proceso mental que me llevo a ella, pero fue para corregir algunos errores.
De todas formas veo que estais diciendo que Google a cambiado algo pero a mi de momento parece que me funciona, no se…
[Responder]
March 24th, 2011 at 16:36 pm