|
1 | 1 | import win32com.client
|
2 | 2 | import os
|
3 | 3 | import sys
|
| 4 | +from more_itertools import value_chain |
4 | 5 |
|
5 | 6 | # PpSaveAsFileType enumeration (PowerPoint)
|
6 | 7 | ppSaveAsMP4 = 39
|
@@ -40,21 +41,45 @@ def ppt2video(pptx, video, timing, duration,
|
40 | 41 | # graphSlideID = gslides.Add(2, ppLayoutChart).SlideID
|
41 | 42 | # slides.FindBySlideID(graphSlideID)
|
42 | 43 |
|
| 44 | + keys = [int(key) for key, value in dict.items()] |
| 45 | + slides = [slide.SlideIndex for slide in presentation.Slides] |
| 46 | + # List of indexes with user input texts. |
| 47 | + list = [key for key in keys if key in slides] |
| 48 | + |
43 | 49 | # Slides indexes start with 1
|
44 | 50 | for slide in presentation.Slides:
|
45 |
| - for key, value in dict.items(): |
46 |
| - if slide.SlideIndex == int(key) and value != "": |
47 |
| - len_new_ppt = len(new_presentation.Slides) |
48 |
| - # print("print(len_new_ppt) before new slide", len_new_ppt) |
49 |
| - new_slide = new_presentation.Slides.Add( |
50 |
| - len_new_ppt+1, ppLayoutText) |
51 |
| - new_slide.Shapes.addShape( |
52 |
| - msoShapeRectangle, 150, 150, 250, 250). \ |
53 |
| - TextFrame.TextRange.Text = value |
54 |
| - slide.Copy() |
55 |
| - len_new_ppt = len(new_presentation.Slides) |
56 |
| - # print("print(len_new_ppt) before paste", len_new_ppt) |
57 |
| - new_presentation.Slides.Paste(len_new_ppt+1) |
| 51 | + if slide.SlideIndex in list: |
| 52 | + # print(slide.SlideIndex) |
| 53 | + # print(dict.get(str(slide.SlideIndex))) |
| 54 | + len_new_ppt = len(new_presentation.Slides) |
| 55 | + new_slide = new_presentation.Slides.Add( |
| 56 | + len_new_ppt+1, ppLayoutText) |
| 57 | + new_slide.Shapes.addShape( |
| 58 | + msoShapeRectangle, 150, 150, 250, 250). \ |
| 59 | + TextFrame.TextRange.Text = dict.get(str(slide.SlideIndex)) |
| 60 | + slide.Copy() |
| 61 | + len_new_ppt = len(new_presentation.Slides) |
| 62 | + new_presentation.Slides.Paste(len_new_ppt+1) |
| 63 | + else: |
| 64 | + # print("no input", slide.SlideIndex) |
| 65 | + slide.Copy() |
| 66 | + len_new_ppt = len(new_presentation.Slides) |
| 67 | + new_presentation.Slides.Paste(len_new_ppt+1) |
| 68 | + |
| 69 | + |
| 70 | + # for key, value in dict.items(): |
| 71 | + # if slide.SlideIndex == int(key) and value != "": |
| 72 | + # len_new_ppt = len(new_presentation.Slides) |
| 73 | + # new_slide = new_presentation.Slides.Add( |
| 74 | + # len_new_ppt+1, ppLayoutText) |
| 75 | + # new_slide.Shapes.addShape( |
| 76 | + # msoShapeRectangle, 150, 150, 250, 250). \ |
| 77 | + # TextFrame.TextRange.Text = value |
| 78 | + # slide.Copy() |
| 79 | + # len_new_ppt = len(new_presentation.Slides) |
| 80 | + # new_presentation.Slides.Paste(len_new_ppt+1) |
| 81 | + # else: |
| 82 | + # print(slide.SlideIndex) |
58 | 83 |
|
59 | 84 | # print(slide.SlideIndex)
|
60 | 85 | print("new presentation", len(new_presentation.Slides))
|
|
0 commit comments