Guest User

Untitled

a guest
Aug 20th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. Can I define powerpoints or presentations in raw text?
  2. from win32com.client import Dispatch
  3.  
  4. ppLayoutTitle = 1
  5. ppLayoutText = 2
  6.  
  7. def writePresentation( fname, data ):
  8. pptApp = Dispatch('Powerpoint.Application')
  9. pres = pptApp.ActivePresentation
  10. aw = pptApp.ActiveWindow
  11. slides = pres.Slides
  12.  
  13. for item in data:
  14. t1 = item[0]
  15. t2 = item[1]
  16. stype = item[2]
  17. assert(stype in [ppLayoutTitle,ppLayoutText])
  18. s = slides.Add( slides.Count, stype )
  19. aw.View.GotoSlide(s.SlideIndex)
  20.  
  21. s.Shapes.Item(1).Select()
  22. aw.Selection.ShapeRange.TextFrame.TextRange.Select()
  23. aw.Selection.ShapeRange.TextFrame.TextRange.Characters(Start=1, Length=0).Select
  24. tr = aw.Selection.TextRange
  25. tr.Text = t1
  26.  
  27. s.Shapes.Item(2).Select()
  28. aw.Selection.ShapeRange.TextFrame.TextRange.Select()
  29. if stype == ppLayoutText:
  30. aw.Selection.ShapeRange.TextFrame.TextRange.ParagraphFormat.Bullet.Visible = 0
  31. aw.Selection.ShapeRange.TextFrame.TextRange.Characters(Start=1, Length=0).Select
  32. tr = aw.Selection.TextRange
  33. tr.Text = t2
  34. slides.Range(slides.Count).Delete()
  35. pres.SaveAs(fname)
  36.  
  37. Slide 1 Title
  38. <tab>Bullet Level One Text
  39. <tab><tab>Bullet Level Two Text
  40. <tab>Back to Bullet Leven One again
  41. Slide 2 Title
  42. Slide 3 Title
  43. <tab>More Bulleted text
  44. <tab><tab>Tufte hates us by now
  45. <tab><tab>But we don't care, do we?
  46. Slide 4 Title
Add Comment
Please, Sign In to add comment