ОК, поэтому у меня есть одна рабочая книга, которая обрабатывает данные из всех экспортных рабочих книг. Мне нужно взять каждую новую книгу экспорта и пропустить ее по книге обработки по одному в хронологическом порядке их отправки, а затем переименовать готовую книгу в исходное имя.
У меня есть скрипт для запуска экспорта через книгу обработки и его экспорта в готовую книгу. но я не могу понять, как поставить в очередь загруженные листы, чтобы просмотреть по одному и сохранить оригинальное имя листа в готовой книге. Вот код для gui и сценария обработки.
Если бы кто-то мог указать мне правильное направление, это было бы очень ценно.
#gui
from tkinter import filedialog
from tkinter import *
import wx
import shutil
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='BIMgen Employee Portal')
panel = wx.Panel(self)
my_sizer = wx.BoxSizer(wx.VERTICAL)
my_btn = wx.Button(panel, label='Select Export')
my_btn.Bind(wx.EVT_BUTTON, self.on_press)
my_sizer.Add(my_btn, 0, wx.ALL | wx.CENTER, 5)
panel.SetSizer(my_sizer)
self.Show()
def on_press(self, event):
root = Tk()
root.filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))
print (root.filename)
print(print (root.filename))
shutil.copy(root.filename, "C:/Users/tyler/Desktop/Beef Web/Queue")
wx.MessageBox(root.filename, 'Export Uploaded & Queued',
wx.OK | wx.ICON_INFORMATION)
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
app.MainLoop()
#Prossecing script
import win32com.client
import openpyxl
def CopyIn_run_macros():
#Run macros
xl=win32com.client.Dispatch('Excel.Application')
BC=xl.Workbooks.Open('C:/Users/tyler/Desktop/Beef Web/Wall Types Live.xlsm')
xl.Application.Run('Python2')
EXP=xl.Workbooks.Open('C:/Users/tyler/Desktop/Beef Web/Export.xlsx')
print("Importing Export To BeefCake....")
EXP.Sheets('Export').Range('A2:K100000').Copy()
BC.Sheets('Raw Export').Paste(BC.Sheets('Raw Export').Range('A12'))
EXP.Close(True)
print("Complete.")
print("Running Macros....")
xl.Application.Run('Python')
print("Complete.")
print("Exporting BeefCake Data....")
FIN=xl.Workbooks.Open('C:/Users/tyler/Desktop/Beef Web/Finish.xlsx')
BC.Sheets('E1 Final').Range('A1:T100000').Copy()
FIN.Sheets('E1').Paste(FIN.Sheets('E1').Range('A1'))
BC.Sheets('BIMgen 2.0').Range('A1:H100000').Copy()
FIN.Sheets('BIMgen').Paste(FIN.Sheets('BIMgen').Range('A1'))
BC.Sheets('Goodall Build').Range('A1:AG100000').Copy()
FIN.Sheets('231').Paste(FIN.Sheets('231').Range('A1'))
FIN.Close(True)
print("Complete.")
del xl
CopyIn_run_macros()