Как удалить фигуры, присутствующие в ppt, используя python win32com modeule? - PullRequest
0 голосов
/ 21 апреля 2020
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

Пожалуйста, помогите. ..

...