Hola, necesito ayuda con una macro, a veces funciona, y otra no. shell32.dll ShellExecute Lib

Copper Contributor

Hola, necesito ayuda con una macro, a veces funciona, y otra no, cómo puede ser?

 

Es en un comando de envíos de mensajes por whatsapp:

 

TEXTO = VBA.Replace("whatsapp://send?phone=" & CONTACTO & "&text=" & MENSAJE, " ", "%20")

Application.Wait Now + TimeValue("00:00:01")

Ejecutar = ShellExecute(hwnd, "Open", TEXTO, &O0, &O0, SW_NORMAL)

 

en Ejecutar, unas veces sí escribe el texto en la barra de mensajes de Whatsapp, y otras no, esto está en un bucle. Pasa a buscar al siguiente contacto, y eso, a veces sí a veces no, incluso mismo texto, sin tildes ningún caracter raro nada de eso.

 

Muchas gracias por su ayuda.

 

 

shell32.dll

ShellExecute Lib

1 Reply

@DiegoAVillegas 

El problema que estás experimentando puede deberse a varios factores, como la velocidad de ejecución de la macro, la disponibilidad de recursos del sistema o incluso problemas de compatibilidad entre la macro y el sistema operativo.

Aquí hay algunas sugerencias para abordar y diagnosticar el problema:

  1. Asegúrate de que el contacto y el mensaje estén formateados correctamente: Asegúrate de que las variables CONTACTO y MENSAJE estén formateadas correctamente y no contengan caracteres especiales que puedan causar problemas en la URL de WhatsApp.
  2. Aumenta el tiempo de espera: La función Application.Wait espera un segundo antes de ejecutar ShellExecute. Dependiendo de la velocidad de tu sistema y de la conexión a internet, un segundo puede ser insuficiente para que WhatsApp abra y procese el enlace correctamente. Intenta aumentar el tiempo de espera para ver si eso ayuda a que la macro funcione de manera más consistente.
  3. Maneja errores: Agrega manejo de errores a tu código para detectar y manejar posibles problemas durante la ejecución. Por ejemplo, puedes usar la instrucción On Error Resume Next para ignorar errores y continuar con el bucle, o usar On Error GoTo para dirigirte a una rutina de manejo de errores específica que te brinde más información sobre el problema.
  4. Prueba con otras opciones de ejecución: En lugar de usar ShellExecute, puedes probar otras opciones de ejecución, como FollowHyperlink o CreateObject("WScript.Shell").Run, para ver si eso resuelve el problema.
  5. Actualiza el sistema y las aplicaciones: Asegúrate de que tu sistema operativo y la aplicación de WhatsApp estén actualizados a la última versión disponible. A veces, los problemas de compatibilidad pueden resolverse con actualizaciones de software.
  6. Depura el código: Utiliza el depurador de VBA para ejecutar la macro paso a paso y observar el comportamiento en cada línea de código. Esto puede ayudarte a identificar dónde se produce el problema y qué podría estar causándolo.

Si después de probar estas sugerencias sigues experimentando problemas intermitentes, podría ser útil obtener más información sobre el entorno de tu sistema y cualquier mensaje de error específico que recibas durante la ejecución de la macro. Esto podría ayudar a diagnosticar y resolver el problema de manera más efectiva. El texto y los pasos se editaron con la ayuda de IA.

 

*El texto ha sido traducido automáticamente; puede contener errores gramaticales y/o de expresión.

 

¡Mis respuestas son voluntarias y sin garantía!

 

Espero que esto te ayudará.

¿Fue útil la respuesta? Marca como mejor respuesta y dale me gusta!

Esto ayudará a todos los participantes del foro.