File “main.py”, line 2, in
ModuleNotFoundError: No module named ‘win32gui’
[3984] Failed to execute script ‘main’ due to unhandled exception!
çözümü için hooks dosyası yada hidden import ile denedim yine olmadı acaba nerde yanlıs yapıyor olabilirim.
Bunun ne anlama geldiğini öğren. Cevap sorunun içinde.
win32gui modülünü kücük bir app yazarken programın arkaplanda çalışması için modül olarak ekledim. hatta python da bunun yerine pywin32 modülünü up yaptıgında bu modül ile win32con modülü aktive oluyor. fakat app exe dosyasına cevirirken bu hatayı aldım.daha sonra hooks ve hidden modül add ile exe oluşturmaya calıstım. fakat yine olmadı.
niye arka planda calıstırmak istiyorum. amacım ön planda oldugunda exceldeki verileri kopyalayıp udf formatındaki bir dökümana yapıstırmıyordu. onun için bu fikir aklıma geldi python pycharm da calısıyor. fakat exe dosyasında hata alıyorum.
Yanlışım varsa düzeltebilirsiniz. eğer bu mevzunun çözümü yoksa yine berlitebilirsiniz.internet üzerindeki çözümleri ya ben beceremedim yada olmuyor. isterseniz kodlarıda atablirim.
Olur at. Yazdığın kod ne işe yarıyor onu da yazarsan. Windows kullanmıyorum win32gui kütüphanesini test edemiyorum yani. Ne yapmaya çalıştığını söylersen belki başka kütüphane önerebilirim.
exceldeki tablo ve verileri uyap döküman editörü dedigimiz bir yerel uygulamaya aktarıyor. basit kodları.
import openpyxl
import win32gui
import win32con
import time
import pyautogui
import pyperclip
import PySimpleGUI as sg
GUI Tasarımı
layout = [[sg.Text('Excel Dosyası: '), sg.Input(key=‘excel_file’), sg.FileBrowse()],
[sg.Text('UDF Dosyası: '), sg.Input(key=‘udf_file’), sg.FileBrowse()],
[sg.Button(‘Çevir’), sg.Button(‘Çıkış’)]
]
window = sg.Window(‘Excel tablosunu UDF tabloya aktarma - Mahir Cihangir SARAÇ’, layout)
while True:
event, values = window.read()
if event == ‘Çıkış’ or event == sg.WIN_CLOSED:
break
elif event == ‘Çevir’:
excel_file = values[‘excel_file’]
udf_file = values[‘udf_file’]
# Excel dosyasını yükle
workbook = openpyxl.load_workbook(excel_file)
# Sayfa adını seç
sheet = workbook.active
# Belgeyi aç ve tabloyu oluştur
pyautogui.hotkey('winleft', 'r')
pyautogui.press('delete')
pyautogui.typewrite(udf_file)
pyautogui.press('enter')
time.sleep(5)
# Verileri yazdır
for i, row in enumerate(sheet.iter_rows(min_row=1)):
for j, cell in enumerate(row):
pyperclip.copy(str(cell.value))
pyautogui.hotkey('ctrl', 'v')
if j < len(row) - 1:
pyautogui.press('tab')
pyautogui.press('tab')
pyperclip.copy('') # panoyu temizle
sg.popup('Çeviri tamamlandı!')
# Arka plana al
hwnd = win32gui.GetForegroundWindow()
win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)
win32gui.SetForegroundWindow(hwnd)
win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
window.close()
program üst tarafta kalırsa uyap döküman editörüne excelden kopyaladıgı verileri tabloya yapıstırmıyor. onun için programın altta çalışması lazım