如何在python(Anaconda)中使用vba将图片插入到指定单元格位置的Excel中

我尝试使用这个链接与vba代码,但在Python中,它不起作用。

import win32com.client Excel = win32com.client.Dispatch("Excel.Application") wb = Excel.Workbooks.Open(r'C:/Users/Home/Desktop/expdata.xlsx') wb.Worksheets("Report").Activate # выбор активного листа sheet = wb.ActiveSheet obj1=wb.ActiveSheet.Pictures.Insert(r'C:\Users\Home\Desktop\picture.jpg') obj1.ShapeRange obj1.ShapeRange.LockAspectRatio = msoTrue obj1.ShapeRange.Width = 75 obj1.ShapeRange.Height = 100 obj1.Left = xlApp.ActiveSheet.Cells(i, 20).Left obj1.Top = xlApp.ActiveSheet.Cells(i, 20).Top obj1.Placement = 1 obj1.PrintObject = True wb.save wb.Close Excel.Quit() 

AttributeError Traceback(最近调用最后一个)在()9 sheet.Cells(20,20).Select 10#obj1 = sheet.Shapes.AddPicture(r'C:/Users/Home/Desktop/picture.jpg',False, True,10,3,100,100)—> 11 obj1 = wb.ActiveSheet.Pictures.Insert(r'C:/Users/Home/Desktop/picture.jpg')12 obj1.ShapeRange 13 obj1.ShapeRange。 LockAspectRatio = msoTrue

AttributeError:'function'对象没有属性'Insert'

除非你绝对需要使用VBA,否则这种事情可以通过Python使用xlsxwriter完成: http ://xlsxwriter.readthedocs.io/example_images.html

 import xlsxwriter # Create an new Excel file and add a worksheet. workbook = xlsxwriter.Workbook('images.xlsx') worksheet = workbook.add_worksheet() worksheet.insert_image('B2', 'python.png')