我正在使用Python 3.5和win32com使用以下方法将对象(.pdf文件)插入到Excel中:
Embedded_object.Add(ClassType=None, Filename=file_loction, Link=False, DisplayAsIcon=True, Left=3, Top=0, Width=50, Height=50)
这样可以正常工作,但是它总是将对象嵌入到A1单元格中,有没有办法使用上面的方法将对象嵌入到特定的行和列中?
编辑:
我也尝试了以下内容:
worksheet.Range('A1:A1').Copy()
worksheet.Paste(Destination=worksheet.Range('C2:C2'))
它将对象放在一个特定的单元格中,但也放在A1:A1中对象的后面,所以它还不是真正的解决方案
答案 0 :(得分:1)
您可以指定目标单元格,然后将这些值传递到Left
的{{1}}和Top
属性,如下所示:
OLEObject
答案 1 :(得分:0)
好的我觉得我找到了解决方案:
#Create embedded object
Embedded_object = worksheet.OLEObjects()
#Add object to A1:A1 cell
Embedded_object.Add(ClassType=None, Filename=file_loction, Link=False, DisplayAsIcon=True, Left=3, Top=0, Width=50, Height=50)
#Assign object to obj variable
obj = Embedded_object.Item(1)
#Copy and paste object to specific cell
worksheet.OLEObjects(1).Copy()
worksheet.Paste(Destination=worksheet.Range('C2:C2'))
#Delete original object, so only the copied one is left
obj.Delete()