Iniciar un shell y mantener el control en Excel
pivecleyrac
Mensajes publicados
8
Estado
Miembro
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
Hola,
Busco actualizar un archivo de Excel al abrirlo.
Estoy en un servidor dolibarr, donde gestiono una base de tarifas de artículos, y tengo un archivo Excel que obtiene las tarifas. Pero no he conseguido conectarme a la base de datos, así que he creado un archivo PHP en mi sitio que crea un archivo .csv en mi directorio de descargas.
Al abrir mi archivo de Excel, abro con shell el archivo PHP a través de Chrome.
El problema es que pierdo el control de Excel, y por tanto ya no puedo continuar automáticamente con mi macro.
Aquí está mi macro:
Si alguien tiene alguna sugerencia, se lo agradecería.
Gracias de antemano.
Christophe
Busco actualizar un archivo de Excel al abrirlo.
Estoy en un servidor dolibarr, donde gestiono una base de tarifas de artículos, y tengo un archivo Excel que obtiene las tarifas. Pero no he conseguido conectarme a la base de datos, así que he creado un archivo PHP en mi sitio que crea un archivo .csv en mi directorio de descargas.
Al abrir mi archivo de Excel, abro con shell el archivo PHP a través de Chrome.
El problema es que pierdo el control de Excel, y por tanto ya no puedo continuar automáticamente con mi macro.
Aquí está mi macro:
Sub Lance_Tarif() Dim navigate As String navigate = "https://el nombre de mi sitio/excel.php" Shell "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe " & navigate, 0 ..... la macro continúa End Sub
Si alguien tiene alguna sugerencia, se lo agradecería.
Gracias de antemano.
Christophe
7 respuestas
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Ambassadeur 1 588
hola, ¿quieres decir que la macro se detiene esperando a que Chrome termine? -
Hola y gracias por interesarte en mi pregunta.
No, la macro continúa, desafortunadamente, pero la ventana de Chrome se vuelve activa y el resto.
Lo digo desafortunadamente, porque me gustaría que la macro esperara a que termine el proceso de descarga del archivo .csv antes de continuar. He puesto una espera con Application.Wait (Now + TimeValue("0:00:09")), pero dependiendo de la velocidad de la conexión, a veces no es lo suficientemente largo.
Gracias de antemano. -
Sí, efectivamente, el archivo que creo permite recuperar datos.
Estará ausente hasta que lo cree, lo elimino al final de mi macro.
para probar la presencia, ¿hacemos un do while? -
Gracias por estas informaciones, hice:
While Fs.FileExists("monfichier.txt") <> True Application.Wait (Now + TimeValue("0:00:01")) Wend
parece que funciona.
Como expliqué en mi primer mensaje, mi macro abre Chrome para descargar el archivo. Me gustaría hacerlo en segundo plano, y mantener el control en Excel. Para la definición del Shell me ayudé de esta página https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/shell-function
pero al poner 0 o 6 no cambia nada...
Dim navigate As String navigate = "https://le nom de mon site/excel.php" Shell "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe " & navigate, 0
-
-
hola,
¿podrías abrir la aplicación en modo reducido?
ej.: start /min "" "" "C:\Windows\notepad.exe"
Atentamente, -
Hola Chris_33000
Gracias por tu respuesta.
no encuentro cómo escribir la función start. ¿Podrías decirme dónde la encuentro, gracias de antemano?
Atentamente.-
Más información aquí: https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/start
-
-
-
-
Casi perfecto, señores, una pequeña pregunta más: el comando
Shell "C:\Program Files\Internet Explorer\iexplore.exe" & navigate , vbMinimizedNoFocus
abre una ventana para preguntarme si quiero abrir o guardar el archivo. ¿Es posible obligar al archivo a que se guarde? ¿Tal vez en PHP?
Gracias de antemano.
-