{"id":9805,"date":"2019-04-19T12:47:35","date_gmt":"2019-04-19T10:47:35","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=9805"},"modified":"2019-04-19T12:52:07","modified_gmt":"2019-04-19T10:52:07","slug":"lectura-en-tiempo-real-del-cambio-del-euro-al-dolar-y-otras-divisas-desde-excel-y-word","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/lectura-en-tiempo-real-del-cambio-del-euro-al-dolar-y-otras-divisas-desde-excel-y-word\/","title":{"rendered":"Lectura en tiempo real del cambio del Euro al d\u00f3lar y otras divisas desde Excel y Word."},"content":{"rendered":"<p>En esta entrada voy a mostrar 2 ejemplos de c\u00f3mo usar Microsoft Excel y Word para leer el cambio del euro a<strong> otras divisas en tiempo real desde nuestros proyectos<\/strong>. Emplear\u00e9 la lectura de XML y la b\u00fasqueda mediante xPATH del valor deseado.<\/p>\n<p>Ambos ficheros poseen macros asociadas. Por lo que los formatos cambian de xlsx a xlsm en Microsoft Excel y docx a docm en Word. El ejemplo creado en el bot\u00f3n de Word, es aplicable en otros productos de la suite de Office como Powerpoint y Access. Sin necesidad de insertar controles <strong>OCX y ActiveX.<\/strong><\/p>\n<p>Est\u00e1n realizados en Office 2016, por lo que podr\u00edan ser usadas por otras versiones futuras.<\/p>\n<p>La URL es un XML\u00a0 retornado que similar a un webservice ofrece el <strong>Banco Central Europeo<\/strong>. Nos vamos a apoyar en este fichero para la lectura de los nodos con los valores del cambio para ambos ejemplos. La informaci\u00f3n diariamente. La fecha de cambio aparece en el propio fichero que podemos consultar con cualquier navegador.<\/p>\n<p><!--more--><\/p>\n<p>La URL del servicio web muestra la siguiente informaci\u00f3n:<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/XML-divisas.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9807\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/XML-divisas.jpg\" alt=\"\" width=\"953\" height=\"688\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/XML-divisas.jpg 953w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/XML-divisas-300x217.jpg 300w\" sizes=\"auto, (max-width: 953px) 100vw, 953px\" \/><\/a><\/p>\n<h2><strong>Lectura cambios del EURO desde EXCEL<\/strong><\/h2>\n<p>Mediante este ejemplo podremos tener nuestras hojas de c\u00e1lculo actualizadas sin necesidad de copiar e ir a por el dato a Internet, ya que nuestra hoja lo hace por nosotros autom\u00e1ticamente.<\/p>\n<p>El resultado de la funci\u00f3n aplicada en la celda A1:<\/p>\n<p><strong>=SERVICIOWEB(&#8220;https:\/\/www.ecb.europa.eu\/stats\/eurofxref\/eurofxref-daily.xml&#8221;)<\/strong><\/p>\n<p>Es una l\u00ednea que devuelve una cadena con la consulta al servicio web (fichero xml) retornado.<\/p>\n<p>Posteriormente con al formula inferior, recorreremos mediante la funci\u00f3n <strong>XMLFiltro que emplea Xpath los nodos retornados<\/strong>:<\/p>\n<p><strong>=XMLFILTRO(B1;&#8221;\/\/Cube\/@currency&#8221;)<\/strong> devolvemos el nombre de la divisa, en este caso USD.<\/p>\n<p>Con la funci\u00f3n:<\/p>\n<p><strong>=XMLFILTRO(B1;&#8221;\/\/Cube\/@rate&#8221;)<\/strong> , nos ofrece el valor de retorno<\/p>\n<p>Podremos recorrer entre valores del path XML con la siguiente sintaxis, ojo, es necesario respetarla puesto que es muy restrictiva desde Excel:<\/p>\n<p><strong>XMLFILTRO(B1;&#8221;\/\/Cube[2]\/@currency&#8221;)<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/Excel-ejemplo.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9808\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/Excel-ejemplo.jpg\" alt=\"\" width=\"1072\" height=\"936\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/Excel-ejemplo.jpg 1072w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/Excel-ejemplo-300x262.jpg 300w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/Excel-ejemplo-1024x894.jpg 1024w\" sizes=\"auto, (max-width: 1072px) 100vw, 1072px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/codigo-fuente\/Dolar-XML.xlsm\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2874 size-full\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2012\/12\/Descarga.png\" alt=\"\" width=\"300\" height=\"100\" \/><\/a><\/p>\n<h2><strong>Lectura de cambios desde WORD<\/strong><\/h2>\n<p>Para ello hemos creado un bot\u00f3n desde la pesta\u00f1a desarrollador. Es necesario que se encuentre activo el modo dise\u00f1o. Una vez dadas las propiedades al bot\u00f3n, si hacemos doble clic podremos generar el evento que conecta con la URL que posee el XML.<\/p>\n<p>Es necesario darse cuenta de c\u00f3mo se accede a los nodos mediante el path. Tambi\u00e9n los objetos que se han creado sin necesidad de a\u00f1adir referencias desde Word 2016.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9810\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-1.jpg\" alt=\"\" width=\"748\" height=\"548\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-1.jpg 748w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-1-300x220.jpg 300w\" sizes=\"auto, (max-width: 748px) 100vw, 748px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9811\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-2.jpg\" alt=\"\" width=\"747\" height=\"544\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-2.jpg 747w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-2-300x218.jpg 300w\" sizes=\"auto, (max-width: 747px) 100vw, 747px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9812\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-3.jpg\" alt=\"\" width=\"721\" height=\"623\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-3.jpg 721w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2019\/04\/xml-word-3-300x259.jpg 300w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Para descargar el fichero docm, es necesario pulsar en la imagen inferior. Aunque con las ayudas visuales puedes intentarlo t\u00fa mismo. Saludos.<\/p>\n<p><a href=\"http:\/\/www.palentino.es\/codigo-fuente\/Xpath-desde-word.docm\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2874 size-full\" src=\"http:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2012\/12\/Descarga.png\" alt=\"\" width=\"300\" height=\"100\" \/><\/a><\/p>\n<p><strong>Otras aplicaciones de OFFICE.<\/strong><\/p>\n<p>El ejemplo creado en el bot\u00f3n de Word, es aplicable en otros productos de la suite de Office como Powerpoint y Access. Sin necesidad de insertar controles <strong>OCX y ActiveX.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esta entrada voy a mostrar 2 ejemplos de c\u00f3mo usar Microsoft Excel y Word para leer el cambio del euro a otras divisas en tiempo real desde nuestros proyectos. Emplear\u00e9 la lectura de XML y la b\u00fasqueda mediante xPATH del valor deseado. Ambos ficheros poseen macros asociadas. Por lo que los formatos cambian de xlsx a xlsm en Microsoft Excel y docx a docm en Word. El ejemplo creado en el bot\u00f3n de Word, es aplicable en otros productos de la suite de Office como Powerpoint y Access. Sin necesidad de insertar controles OCX y ActiveX. Est\u00e1n realizados en Office 2016, por lo que podr\u00edan ser usadas por otras versiones futuras. La URL es un XML\u00a0 retornado que similar a un webservice ofrece el Banco Central Europeo. Nos vamos a apoyar en este fichero para la lectura de los nodos con los valores del cambio para ambos ejemplos. La informaci\u00f3n diariamente. La fecha de cambio aparece en el propio fichero que podemos consultar con cualquier navegador.<\/p>\n","protected":false},"author":1,"featured_media":9806,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[624,2184,5],"tags":[],"class_list":["post-9805","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-excel","category-office","category-programacion"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/9805","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=9805"}],"version-history":[{"count":4,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/9805\/revisions"}],"predecessor-version":[{"id":9816,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/9805\/revisions\/9816"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/9806"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=9805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=9805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=9805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}