Я написал небольшой скрипт на Python 3.7, который автоматизирует следующие вещи:
-> открывает определенное приложение на рабочем столе
-> загружает книгу Excel и читает столбец, который содержит время
-> выбирает время из Excel (каждая строка) и переходит в открытое приложение и перемещается по времени
-> PRTSC рабочего стола и сохраняет как temp.png
-> превосходит Excel, создает новый лист в той же книге и вставляет файл temp.png
import pywinauto
import openpyxl
from PIL import ImageGrab
#starts a application
#loads a workbook
for i in range(2,ws.max_row+1):
#grabs the timing from the row of a column
#navigates in the application using the timing
wb.create_sheet(s)
dlg=app.top_window() #my application is on top
dlg.type_keys('{PRTSC}')
time.sleep(1)
ws1=wb[s]
im = ImageGrab.grabclipboard()
im.save('temp.png','PNG')
img = drawing.image.Image('temp.png')
time.sleep(1)
j+=1
ws1.add_image(img,'A'+str(40*j+1)) #pastes the image after every 40 cells
time.sleep(1)
wb.save(newsample.xlsx)
Итак, скрипт выполняется отлично, и я получаю новый excel (newsample.xlsx) с изображениями, но проблема здесь в том, что все изображения - это только последнее изображение (temp.png), которое было снято на последнем шаге. .
Я предполагаю, что есть проблема с Drawing.image.Image / add_image line
Должен ли я сохранить ВБ на каждом шаге цикла ???
или есть другие пакеты / модули для захвата изображений и вставки в Excel ???