只要我运行此代码,它就可以正常工作。但一旦将其转换为exe,将无法正常工作。它给出了如下错误:
“文件”站点软件包win32com客户端 init .py”,第178行,在 getattr attributeError:xlBitmap”
任何人都可以帮助我解决问题吗?
pyinstaller --onefile --clean sample.py
sample.py
:
import win32com.client
from PIL import ImageGrab
import openpyxl
import os
path=r"C:\In_Process_Labor_Report\ILR.xlsm"
wb = openpyxl.load_workbook(r'C:\In_Process_Labor_Report\ILR.xlsm',data_only=True)
sheet = wb['ILR_SHT']
row=int(sheet["D2"].internal_value)
col=int(sheet["D3"].internal_value)
toaddress=sheet["W3"].internal_value
ccaddess=sheet["v3"].internal_value
subject=sheet["b3"].internal_value
attachfile=sheet["o3"].internal_value
if os.path.exists(path):
xlApp=win32com.client.Dispatch("Excel.Application")
wb1=xlApp.Workbooks.Open(os.path.abspath(path))
#xlApp = win32com.client.Dispatch("Excel.Application")
#xlApp= win32.gencache.EnsureDispatch("Excel.Application")
#wb1 = xlApp.Workbooks.Open(r'C:\In_Process_Labor_Report\ILR.xlsm')
ws = wb1.Worksheets('Sht_Mail')
#win32c = win32com.client.constants
#ws.Range(ws.Cells(1,1),ws.Cells(2,6)).CopyPicture(Format= win32c.xlBitmap)
win32c = win32com.client.constants
ws.Range(ws.Cells(1,1),ws.Cells(row,col)).CopyPicture(Format=win32c.xlBitmap)
img = ImageGrab.grabclipboard()
imgFile = str(sheet["s2"].internal_value) + "US.png"
img.save(imgFile)