powerpoint.ahk 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. f5::
  2. try{
  3. ppt := ComObjActive("PowerPoint.Application")
  4. objppt := ppt.ActivePresentation
  5. TotalSlides:=% objppt.Slides.Count
  6. FileCreateDir, temp
  7. }
  8. catch e {
  9. MsgBox % "Error in " e.Message ", which was called at line " e.Line
  10. }
  11. Loop %TotalSlides%{
  12. var++
  13. ;MsgBox %var%
  14. saveppt := objppt.Slides(var).Export(A_ScriptDir . "\temp\" . var . ".png", "PNG")
  15. }
  16. ;pt := ppt.ActivePresentation.(test, ppSaveAsPNG)
  17. SysGet, MonitorCount, MonitorCount
  18. ;MsgBox %MonitorCount%
  19. MsgBox saved
  20. ;MsgBox inside %MonitorCount%
  21. ppt := objppt.SlideShowSettings
  22. ppt.Run
  23. ;monitorDisplay(objppt, MonitorCount)
  24. Return
  25. Right::
  26. objppt.SlideShowWindow.View.Next
  27. monitorDisplay(objppt, MonitorCount)
  28. return
  29. Left::
  30. objppt.SlideShowWindow.View.Previous
  31. monitorDisplay(objppt, MonitorCount)
  32. return
  33. monitorDisplay(objppt, MonitorCount){
  34. try{
  35. CurrentSlideNumber :=% objppt.SlideShowWindow.View.Slide.SlideIndex
  36. }
  37. catch{
  38. ExitApp
  39. }
  40. ;MsgBox %CurrentSlideNumber% is the current slide
  41. monitor := MonitorCount-1
  42. Loop %monitor%{
  43. ;MsgBox insideloop
  44. var2++
  45. ;MsgBox var2(MonitorNumber) val = %var2%
  46. setDisplay(var2, CurrentSlideNumber-1)
  47. CurrentSlideNumber--
  48. var2 := 0
  49. ;MsgBox end of Loop monitor var2 = %var2%
  50. }
  51. }
  52. getCoordinates(MonitorNumber){
  53. coord := 1920*MonitorNumber
  54. return coord
  55. }
  56. ;SetEnv file, C:\Users\SK\Documents\AutoHotKey\1.png
  57. setDisplay(MonitorNumber, PreviousSlideNumber){
  58. global
  59. coord := getCoordinates(MonitorNumber)
  60. SetEnv file, E:\AHK\AutoHotKeyScripts\temp\%PreviousSlideNumber%.png
  61. ;file := "C:\Users\SK\Documents\AutoHotKey\" . %CurrentSlideNumber% . ".png"
  62. ;file := "C:\Users\SK\Documents\AutoHotKey\1.png"
  63. ;MsgBox %coord%,%MonitorNumber%,%PreviousSlideNumber%,%file%
  64. Gui, 1:destroy
  65. Gui, 1:+AlwaysOnTop +LastFound +Owner -Caption
  66. Gui, 1:Color, Black
  67. Gui, 1:Add, Picture, w%A_ScreenWidth% h-1, %file%
  68. Gui, 1:Show, x%coord% y0 maximize
  69. }