[ Foro de Python ]

Problema al ejecutar un Exe de Python desde VBA con Shell

20-Jun-2019 23:06
JORGE MARTINEZ
0 Respuestas

Hola!!!

Llevo muchas horas de pruebas y búsquedas tratando de solucionar este problema, pero sigo atascado! espero me puedan ayudar por favor los expertos o quien tenga alguna solución:
Generé un Exe con Python (Anaconda 3.6.5) con el pyinstaller, todo muy bien. Es un sencillo programa para abrir un reporte Web y descargarlo en Excel. Si ejecuto el "Reporte.exe" (enter o doble clic) me descarga el reporte de maravilla, pero necesito es que esa descarga se haga al ejecutar una macro en Excel (versión 365), esto lo hago con el comando Shell y le doy la ruta completa del archivo .exe: Call Shell(Ruta, vbMaximizedFocus). Pero acá está el problema: abre la ventana negra, pero inmediatamente la cierra y no deja ver nada ni descarga el reporte.

Mi código es este: pero cambié la URL, es intranet. Será que debo cambiar algo para que me funcione al ejecutar con shell??

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import datetime
import os

os.chdir("c:\RepPreor\dist")
Fecha= datetime.date.today()
Fecha= Fecha.strftime("%Y/%m/%d")
Link = "http://Server/Viewer.aspx?%2fReporteV20%2fReporte1&fechaInil=" + Fecha + "&FechaFin=" + Fecha
browser = webdriver.Chrome (".\chromedriver.exe")
browser.get(Link)
try:
   element = WebDriverWait(browser, 10).until(
   EC.element_to_be_clickable((By.ID, 'ReportViewerControl_ctl05_ctl00_Last_ctl00_ctl00')))        
finally:
   element = browser.find_element_by_id('ReportViewerControl_ctl05_ctl04_ctl00_ButtonImgDown')
   element.click()
   element = browser.find_element_by_link_text('Excel')
   element.click()
time.sleep(5)
browser.quit()




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...