IPCAS/ipcas02.py
2025-07-28 15:38:23 +07:00

52 lines
1.7 KiB
Python

import subprocess
import psutil
import time
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="9999", class_name="Edit").type_keys("^a{BACKSPACE}9300", with_spaces=True)
main_win.child_window(title="Actual", class_name="Button").wait('enabled').click_input()
main_win.child_window(title="VND", class_name="ComboBox").wait('enabled').select("USD")
# --- 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_USD_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
subprocess.run(["python", "ipcas03.py"], check=True)