import time import psutil from datetime import datetime, timedelta from pywinauto import Application yesterday2 = (datetime.now() - timedelta(days=1)).strftime("%Y_%m_%d") # --- Reconnect to IPCAS window app = Application(backend="win32").connect(title_re=".*IPCAS System.*", timeout=10) main_win = app.window(title_re=".*IPCAS System.*") main_win.wait('visible', timeout=10) main_win.set_focus() # --- Update to branch 9300 and USD main_win.child_window(title="USD", class_name="ComboBox").select("KHR") # --- Generate report main_win.child_window(title="&Make Report", class_name="Button").click_input() # --- Export to Excel main_win.child_window(title="&Excel", class_name="Button").click_input() # --- Save file dialog while True: try: save_dialog = app.window(title="Save as File", class_name="#32770") if save_dialog.exists(timeout=1): break except: pass time.sleep(0.5) save_dialog.child_window(class_name="Edit").set_edit_text(yesterday2 + "_9300_KHR_TDHSX_BC15") save_dialog.child_window(title="&Save", class_name="Button").click_input() from pywinauto import Application from pywinauto.findwindows import find_windows time.sleep(5) # wait for Excel to load fully try: hwnds = find_windows(title_re=".*Excel", class_name="XLMAIN") if hwnds: app = Application(backend="win32").connect(handle=hwnds[0]) app.window(handle=hwnds[0]).close() except Exception: pass main_win.child_window(title="&Exit", class_name="Button").click_input()