import win32com.client
fpath = r"file path"
ppt = win32com.client.Dispatch("Powerpoint.Application")
ppt.Visible = True
PPTApp = win32com.client.GetActiveObject("PowerPoint.Application")
pptfile = ppt.Presentations.Open(fpath+"\\"+"file name.pptx")
PPTPres = PPTApp.Presentations("file name.pptx")
sldcnt = PPTPres.slides.Count
for i in range(1,sldcnt):
for PPTShapes in PPTPres.slides(i).Shapes:
cond = 0
if PPTShapes.type == 17:
cond = 1
break
ins = PPTPres.slides(i).Shapes.count
if cond == 1:
for j in range(1,ins):
aa=PPTPres.slides(i).Shapes(j).type
if aa==17:
aa=PPTPres.slides(i).shapes(j).type
bb=PPTPres.slides(i).shapes(j).name
print(aa)
print(bb)
PPTPres.slides(i).shapes(j).delete
Более конкретно, я хочу удалить текстовые поля, присутствующие на каждом слайде: Как я узнал, что для текстового поля номер типа фигуры равен 17, и, следовательно, я выбираю их и пытаюсь удалить. .delete здесь не работает. Пожалуйста, помогите Также у меня есть другая проблема, в которой я пытаюсь отправить вставленное изображение на задний план, там тоже не работает код, он показывает неверный синтаксис, ниже приведен код, который я пытаюсь
PPTPres.Slides(i).Shapes(jj).ZOrder SendBackward
Пожалуйста, помогите. ..