PRTSC и вставьте в Excel с помощью Python - PullRequest
0 голосов
/ 18 сентября 2018

Я написал небольшой скрипт на 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 ???

...