Jump to content

José_Santos

Members
  • Content Count

    306
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by José_Santos

  1. Hola, Por si ayuda... https://docs.microsoft.com/es-es/office/vba/api/excel.application.inputbox Usando el tipo 8, con el input, deja seleccionar físicamente las celdas que se quieren incluir. Saludos.
  2. @bigpetroman No hay color entre hacerlo con MSXML2.XMLHTTP a hacerlo con IE, el segundo método es muy lento en el caso de que en el proceso se quieran extraer varias URL´s, aunque, para este caso en particular es idóneo. El valor del Bitcoin de esta Web no es real ya que está redondeado... te aconsejo lo extraigas de otras maneras alternativas como has comentado. Saludos.
  3. Gracias. El ejemplo de Antoni sirve para cualquier función... Lo pongo aquí más resumido... ' función que utiliza ParamArray Private Function ejemplo(ParamArray Los_Valores() As Variant) As Variant 'Recorre el array For i = LBound(Los_Valores) To UBound(Los_Valores) MsgBox Los_Valores(i) Next End Function Sub Prueba() 'Le envía la lista de parámetros Max = ejemplo(165, 654, 6897, 265, 6598, 999999) End Sub
  4. La verdad que cualquier solución a las variantes que planteas me hubiera valido. Pero para no complicarlo mucho te pongo un ejemplo sencillo; Function Ejemplo (edad1, edad2) end function ¿Hay alguna manera, con VBA, que te diga cuantos argumentos tiene esa función y qué valores ha recibido) El código debe valer para cualquier función ya tenga 2, 3 o 10 argumentos.
  5. La cotización de la Web no es la real, como ves está redondeado. Seguramente tomen cualquiera de los dos precios y lo redondeen o quizás hagan algún calculo con las dos cotizaciones y el resultado lo redondeen también. Igual si miras el código HTML de la web veas que calculo exacto hacen. A veces, en Web Scraping, el ID o className no vale, a mucha información accedes a través de XML o JSON, como en este caso. Para extraer los precios que aparecen en esa URL solo tienes que tratar los datos con la función split como si fuera texto, o si alguien tiene un método para leer JSON con VBA, mejor.
  6. Hola, En principio el cambio para el Bitcoin / USD lo puedes conseguir accediendo al fichero JSON que encuentras en esta URL: http://preev.com/pulse/units:btc+usd/sources:bitstamp+kraken La información que extraes del JSON es la que puedes ver en la imagen que he adjuntado. Parece que devuelve el cambio de dos proveedores de precios. Saludos.
  7. Hola a todos, ¿Alguien sabe como se pueden recorrer los valores de los argumentos que se reciben en una función en VBA? Estoy aprendiendo a utilizar JavaScript desde el propio Excel con Script Lab y hay una sentencia que es "arguments.length" que te da el número de argumentos que recibe la función, y con un bucle puedes recorrerlos ya que a cada argumento se accede a través de un índice. arguments[1], arguments[2], etc. La verdad que no he visto nunca como hacer esto con VBA, si alguien tiene idea de cómo hacerlo, sería interesante aprenderlo (yo no lo he visto antes) Saludos.
  8. Yo creo que, en teoría, no hace falta el ancho y alto de una celda, puede ser variable... Todas las celdas tienen una propiedad Top, height, width, left, etc que puedes chequear con las coordenadas de la forma... Igual por ahi puedes solucionar el problema.
  9. Hola,

    Perdona si te molestó mi comentario. Al leer rápido entendí que te referías a un archivo en la nube y no a "tu" archivo en la nube...

    Saludos.

  10. @avalencia, no te enfades hombre, pensé que te referías a cualquier archivo que estuviese en la nube no en concreto con un ACCESS. Ya puestos en el tema... ¿Hay alguna razón por la que se pueda interactuar con outlook, excel, etc en la nube sin tener que descargarlos y no se pueda con ACCESS? Disculpa si te ha molestado mi anterior comentario... Saludos.
  11. Hola, @avalencia está un poco anticuado en cuanto a las últimas tendencias... Yo accedo a OneDrive en la nube (sin tenerlo instalado en el PC) subo archivos, creo carpetas, etc. Accedo también a ficheros Excel que están en OneDrive y modifico cosas en ellos sin tener que descargarlos... Lo que no he hecho aún es trabajar con Access en la nube. Todo esto se hace con solicitudes HTTP, OAuth 2.0 y demás. Normalmente se programa con python... JS pero también se puede hacer con VBA. Como cada vez, menos datos están en local, esta técnica se va a hacer imprescindible ya que todo tiende a estar en la nube. Saludos.
  12. Version 1.0.0

    8 downloads

    Plantilla Excel que calcula el cambio de la divisa para una fecha determinada, de igual forma que aparece en esta Web: https://www.xe.com/es/travel-expenses-calculator/
  13. @sretamalb Casi todo es posible, solo lleva su tiempo. Te he adjuntado el archivo para que lo modifiques a tus necesidades.
  14. @Galactico En este post he subido un archivo con un ejemplo para que te hagas una idea de los objetos que yo utilizo. Saludos.
  15. Extrae los artículos y precios de la url https://www.elcorteingles.es/electronica/ofertas-electronica/tv/: Sin utilizar Internet Explorer, lo cual hace el proceso mucho más rápido. Puedes descargarte el archivo desde: https://1drv.ms/x/s!Als2txeYXMfbgZlrqIXj7Kwlhzg4aQ Saludos.
  16. Hola Galáctico, Cada Web es diferente y el modo de interactuar con ella también es diferente dependiendo del código HTML con el que ha sido creada. Lo que si te puedo asegurar es que usar una instancia del Internet Explorer es un método demasiado arcaico y que en la mayoría de las ocasiones no sirve o no es, para nada, fiable. Sin entrar en muchos detalles para añadir un determinado producto al carrito de "aliexpress" tendrías que dirigirte a la URL correcta y enviar, mediante el método POST, los parámetros requeridos. En este caso podrían ser el código de modelo de gafas con el color deseado y usuario y contraseña de la persona que está haciendo la compra (entre otros parámetros que podrían ser, también, necesarios. Hay técnicas muchísimo más avanzadas y eficaces para trabajar con estas Webs, como te he dicho ese código que estáis utilizando con el IE está muy obsoleto. Saludos y bienvenido al mundo del Web Scraping.
  17. El mejor método para trabajar con la REST APi de Google Drive es este: https://developers.google.com/drive/api/v3/manage-downloads?hl=ES En ese link vas a ver como poder descargar ficheros y, si ves el resto de documentación, verás que se pueden hacer un montón de tareas además de esta. No necesitas Internet Explorer pero si programar la OAuth 2.0 y luego aprender a hacer las http calls que te indican en la documentación. Es un poco complicado pero es lo que utiliza todo el mundo para trabajar con datos que están en la nube. Saludos.
  18. Hola, Para hacer Web Scraping te recomiendo este objeto MSXML2.XMLHTTP60 es mucho más fiable que el IE Explorer y mucho más rápido. Quizás para Webs con Usuario y Contraseña sea un poco más complicado ponerlo en práctica pero te lo recomiendo en vez de usar el IE Explorer que está un poco obsoleto para extraer datos Web. Igual el código que estás utilizando sea correcto pero la web no permite acceder a esos elementos, cada web es un mundo. Estaría bien que pusieras la URL a la que quieres acceder después de hacer el login, hay algunas técnicas que acceden a esa URL enviando parámetros necesarios para hacer el login. Saludos.
  19. Hola, Se puede hacer de varias formas... pero según lo tienes yo creo que lo mejor es que utilices la función "SPLIT" Saludos
  20. @digitalboy No he programado nunca nada con la APi de Whatsapp, puse la URL para dar a conocer el mundo de las APi´s para aquellos que no sepan nada acerca de ellas y hacer saber que todas estas grandes Webs tienen su API con la que extraer información o interactuar con la aplicación en cuestión. Una vez tienes la APiKey y demás credenciales tienes que hacer la autenticación OAuth 1.0 o OAuth 2.0 que con VBA no es nada fácil. Yo la tengo hecha para OneDrive y Twitter y no es nada sencillo, especialmente la de Twitter. Para el que no lo sepa, con la API de Microsoft Graph se puede interactuar con OneDrive, Excel, Outlook, etc... Saludos.
  21. Jeladio, Todo lo referente a trabajar con API´s (Whatsapp, twitter, Facebook, OneDrive, Excel, etc) con VBA, igual lo puedes hacer de la manera que propones pero es mucho más rápido y eficaz, también más complicado, hacerlo como te indican en la web de referencia de la API en questión, es decir utilizando las solicitudes http de la manera que te indican. Yo suelo utilizar el objeto "MSXML2.XMLHTTP60". Estas solicitudes se hacen a través del servidor y no hace falta estar abriendo instancias de IE, chrome u otro navegador. El método que te propongo es el que utiliza todo el mundo ya que es más seguro, rápido y eficaz, como he comentado antes, también más complicado de poner en práctica. Estas solicitudes http se suelen programar con otros lenguajes de programación, pero con VBA también se puede hacer. https://www.whatsapp.com/business/api Saludos.
  22. Creo que en el portapapeles se puede almacenar texto y objetos (imágenes capturadas desde el Print Screen) El CutCopyMode creo que solo te borra texto del portapapeles... Para borrar imágenes del portapapeles yo he utilizado, en alguna ocasión, este código. #If VBA7 And Win64 Then Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long #Else Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function CloseClipboard Lib "user32" () As Long #End If Public Sub ClearClipboardObject() OpenClipboard (0&) EmptyClipboard CloseClipboard End Sub
  23. Lo de interactuar con datos Web es una necesidad imperiosa que, si no sabemos hacerlo con VBA, nos vamos a quedar muy obsoletos en relación con otros programadores en otros lenguajes. He iniciado una segunda parte del curso en el que interactuamos con REST API´s como la de OneDrive o Twitter, por ejemplo... algo realmente increíble. Saludos
  24. Hola Benjamin, Todos esos datos, en teoría, son fácilmente accesibles con VBA mediante técnicas de Web Scraping. Vamos a tener que proponer a @sergio que organice un curso sobre la materia en esta comunidad. Saludos
×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5