# """ # 插入附件 import win32com.client if __name__ == "__main__": filename = r"23年09月.xlsx" xlApp = win32com.client.Dispatch('Excel.Application') xlApp.Visible = 0 #0不可见,1可见 workbook = xlApp.Workbooks.Open(filename) 附件数量=0 for worksheet_index in range(1,workbook.Sheets.Count+1): worksheet = workbook.Sheets(worksheet_index) G=2 #附件所在的行数 Embedded_object = worksheet.OLEObjects() while G<100: 附件名=worksheet.Cells(G, 7).Value if(None == 附件名): if(None != worksheet.Cells(G+1, 1).Value): #没有添加过附件,这里,忽略 G+=7 #有6个内容加上本身 continue else: #这个sheet没有内容了 break file_location = r"{}".format(附件名) #运行前需要修改 left_index=worksheet.Cells(G, 7).Left top_index=worksheet.Cells(G, 7).Top Embedded_object.Add(ClassType=None, Filename=file_location, Link=False, DisplayAsIcon=True,IconLabel=附件名,Left=left_index,Top = top_index,IconFileName=r"C:\Windows\Installer\{90160000-000F-0000-1000-0000000FF1CE}\xlicons.exe",IconIndex=0) #IconFileName参数和时必须的,不确定值的时候,请使用Excel的录制宏功能获取,IconIndex=0是固定的 附件数量+=1 print("附件数量={}".format(附件数量)) G+=7 workbook.Save() xlApp.Quit()
这里是以添加Excel附件为例,其中的IconFileName参数值是比较重要的,可以获得最佳的外观,建议先使用录制宏功能获取下对应的值在添加进来。
标签:__,python,worksheet,Excel,xlApp,workbook,附件 From: https://www.cnblogs.com/love-DanDan/p/17747526.html