mirror of
https://github.com/norandom/log2ml.git
synced 2024-12-04 22:53:44 +00:00
Improved simulator
This commit is contained in:
parent
a33706beea
commit
31c5d63710
@ -2,6 +2,33 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
import pyautogui
|
import pyautogui
|
||||||
|
import win32gui
|
||||||
|
import win32con
|
||||||
|
|
||||||
|
def close_cmd_window():
|
||||||
|
def enum_windows_callback(hwnd, result):
|
||||||
|
window_title = win32gui.GetWindowText(hwnd).lower()
|
||||||
|
if (win32gui.IsWindowVisible(hwnd) and
|
||||||
|
'cmd.exe' in window_title and
|
||||||
|
'Anaconda' not in window_title):
|
||||||
|
win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
|
||||||
|
|
||||||
|
win32gui.EnumWindows(enum_windows_callback, None)
|
||||||
|
|
||||||
|
def close_excel_without_saving():
|
||||||
|
pyautogui.hotkey('alt', 'f4')
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
# Try to locate and click the "Don't Save" button
|
||||||
|
try:
|
||||||
|
dont_save_button = pyautogui.locateOnScreen('dont_save_button.png', confidence=0.8)
|
||||||
|
if dont_save_button:
|
||||||
|
pyautogui.click(dont_save_button)
|
||||||
|
print("Clicked 'Don't Save' button")
|
||||||
|
else:
|
||||||
|
print("Save dialogue not found, Excel may have closed without prompting")
|
||||||
|
except pyautogui.ImageNotFoundException:
|
||||||
|
print("Save dialogue not found, Excel may have closed without prompting")
|
||||||
|
|
||||||
def open_excel_with_macros(file_path):
|
def open_excel_with_macros(file_path):
|
||||||
# Get the directory of the current script/executable
|
# Get the directory of the current script/executable
|
||||||
@ -18,10 +45,13 @@ def open_excel_with_macros(file_path):
|
|||||||
enable_button = None
|
enable_button = None
|
||||||
|
|
||||||
while (time.time() - start_time) < timeout:
|
while (time.time() - start_time) < timeout:
|
||||||
enable_button = pyautogui.locateCenterOnScreen(enable_button_image, confidence=0.8)
|
try:
|
||||||
if enable_button:
|
enable_button = pyautogui.locateCenterOnScreen(enable_button_image, confidence=0.8)
|
||||||
pyautogui.click(enable_button)
|
if enable_button:
|
||||||
break
|
pyautogui.click(enable_button)
|
||||||
|
break
|
||||||
|
except pyautogui.ImageNotFoundException:
|
||||||
|
pass
|
||||||
time.sleep(1) # Check every 1 second
|
time.sleep(1) # Check every 1 second
|
||||||
|
|
||||||
if not enable_button:
|
if not enable_button:
|
||||||
@ -31,12 +61,13 @@ def open_excel_with_macros(file_path):
|
|||||||
time.sleep(10) # Adjust time based on expected macro execution time
|
time.sleep(10) # Adjust time based on expected macro execution time
|
||||||
|
|
||||||
# Close Excel without saving
|
# Close Excel without saving
|
||||||
pyautogui.hotkey('alt', 'f4')
|
close_excel_without_saving()
|
||||||
time.sleep(1)
|
|
||||||
pyautogui.press('n') # Press 'n' in response to Excel's save prompt
|
# Close any cmd.exe windows that might have opened, except Anaconda prompt
|
||||||
|
close_cmd_window()
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
directory = r'C:\Users\mariu\Desktop\Corpus' # Adjust the path to your files
|
directory = r'C:\Users\student\Desktop\Corpus' # Adjust the path to your files
|
||||||
files = os.listdir(directory)
|
files = os.listdir(directory)
|
||||||
excel_files = [file for file in files if file.endswith(('.xlsx', '.xlsm'))]
|
excel_files = [file for file in files if file.endswith(('.xlsx', '.xlsm'))]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user