mirror of
https://github.com/norandom/log2ml.git
synced 2024-10-22 18:35:13 +00:00
50 lines
1.7 KiB
Python
Executable File
50 lines
1.7 KiB
Python
Executable File
import os
|
|
import sys
|
|
import time
|
|
import pyautogui
|
|
|
|
def open_excel_with_macros(file_path):
|
|
# Get the directory of the current script/executable
|
|
base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
|
|
enable_button_image = os.path.join(base_path, 'enable_content.png')
|
|
|
|
# Open Excel through the OS start menu or command line
|
|
os.startfile(file_path)
|
|
time.sleep(5) # Wait for Excel to open
|
|
|
|
# Custom timeout mechanism to locate the 'Enable Content' button
|
|
timeout = 10 # 10 seconds timeout
|
|
start_time = time.time()
|
|
enable_button = None
|
|
|
|
while (time.time() - start_time) < timeout:
|
|
enable_button = pyautogui.locateCenterOnScreen(enable_button_image, confidence=0.8)
|
|
if enable_button:
|
|
pyautogui.click(enable_button)
|
|
break
|
|
time.sleep(1) # Check every 1 second
|
|
|
|
if not enable_button:
|
|
print("Enable Content button not found, continuing...")
|
|
|
|
# Wait for any macros to finish running or other processing
|
|
time.sleep(10) # Adjust time based on expected macro execution time
|
|
|
|
# Close Excel without saving
|
|
pyautogui.hotkey('alt', 'f4')
|
|
time.sleep(1)
|
|
pyautogui.press('n') # Press 'n' in response to Excel's save prompt
|
|
|
|
def main():
|
|
directory = r'C:\Users\mariu\Desktop\Corpus' # Adjust the path to your files
|
|
files = os.listdir(directory)
|
|
excel_files = [file for file in files if file.endswith(('.xlsx', '.xlsm'))]
|
|
|
|
for file in excel_files:
|
|
full_path = os.path.join(directory, file)
|
|
open_excel_with_macros(full_path)
|
|
time.sleep(5) # Adjust as needed between openings
|
|
|
|
if __name__ == '__main__':
|
|
main()
|