Да, можно настроить функцию, чтобы при нажатии на кнопку происходила автоматическая заливка ячейки.
Вот пример кода, который делает именно это:
```python
import tkinter as tk
from functools import partial
from openpyxl import Workbook, load_workbook
from openpyxl.styles import PatternFill
def fill_cell(color):
# Открываем книгу Excel
workbook = load_workbook('example.xlsx')
# Выбираем активный лист
sheet = workbook.active
# Получаем текущие координаты ячейки
current_cell = sheet.cell(row=1, column=1)
# Задаем цвет заливки
fill = PatternFill(start_color=color, end_color=color, fill_type="solid")
# Заливаем ячейку выбранным цветом
current_cell.fill = fill
# Сохраняем изменения в файле
workbook.save('example.xlsx')
workbook.close()
def on_button_press(key):
if key.char == 'y':
fill_cell("FFFF00") # Заливка желтым
elif key.char == 'u':
fill_cell("00FF00") # Заливка зеленым
# Создаем окно tkinter
root = tk.Tk()
root.geometry('300x200')
# Создаем кнопки
button_y = tk.Button(root, text="Заливка желтым (Y)", command=partial(fill_cell, "FFFF00"))
button_y.pack()
button_u = tk.Button(root, text="Заливка зеленым (U)", command=partial(fill_cell, "00FF00"))
button_u.pack()
# Назначаем обработчик нажатия клавиш
root.bind('<Key>', on_button_press)
# Запускаем цикл обработки событий tkinter
root.mainloop()
```
Этот код использует библиотеку "openpyxl" для работы с файлами Excel. При нажатии на кнопку "Заливка желтым (Y)" или "Заливка зеленым (U)" происходит вызов функции `fill_cell`, которая открывает файл Excel, выбирает активный лист, определяет текущую ячейку и затем применяет заданный цвет заливки к этой ячейке. Затем функция сохраняет изменения в файле.
Функция `on_button_press` назначается в качестве обработчика нажатия клавиш. Она проверяет, какая клавиша была нажата, и вызывает функцию `fill_cell` с соответствующим цветом заливки.
Кроме того, код создает окно tkinter, в котором размещаются кнопки для ручной заливки ячеек выбранными цветами. Кнопки также связаны с функцией `fill_cell` с соответствующим цветом заливки.
Обратите внимание, что для работы этого кода вам понадобится установить библиотеку "openpyxl" с помощью команды `pip install openpyxl`. Также убедитесь, что файл `example.xlsx` существует в том же каталоге, что и код. Если этот файл не существует, ошибка может возникнуть при попытке открыть его для редактирования.