powerpoint.ahk 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. objppt.Export("E:\AHK\AutoHotKeyScripts\temp",FilterName:="png",1366,768)
  12. ;Loop %TotalSlides%{
  13. ;var++
  14. ;MsgBox %var%
  15. ;saveppt := objppt.Slides(var).Export(A_ScriptDir . "\temp\" . var . ".png", "PNG",1366,768)
  16. ;}
  17. ;pt := ppt.ActivePresentation.(test, ppSaveAsPNG)
  18. SysGet, MonitorCount, MonitorCount
  19. ;MsgBox %MonitorCount%
  20. ;MsgBox saved
  21. ;MsgBox inside %MonitorCount%
  22. ppt := objppt.SlideShowSettings
  23. ppt.Run
  24. ;monitorDisplay(objppt, MonitorCount)
  25. Return
  26. Right::
  27. objppt.SlideShowWindow.View.Next
  28. monitorDisplay(objppt, MonitorCount)
  29. return
  30. Left::
  31. objppt.SlideShowWindow.View.Previous
  32. monitorDisplay(objppt, MonitorCount)
  33. return
  34. monitorDisplay(objppt, MonitorCount){
  35. try{
  36. CurrentSlideNumber :=% objppt.SlideShowWindow.View.Slide.SlideIndex
  37. }
  38. catch{
  39. ExitApp
  40. }
  41. ;MsgBox %CurrentSlideNumber% is the current slide
  42. monitor := MonitorCount-1
  43. Loop %monitor%{
  44. ;MsgBox insideloop
  45. var2++
  46. ;MsgBox var2(MonitorNumber) val = %var2%
  47. setDisplay(var2, CurrentSlideNumber-1)
  48. CurrentSlideNumber--
  49. var2 := 0
  50. ;MsgBox end of Loop monitor var2 = %var2%
  51. }
  52. }
  53. getCoordinates(MonitorNumber){
  54. coord := 1366*MonitorNumber
  55. return coord
  56. }
  57. ;SetEnv file, C:\Users\SK\Documents\AutoHotKey\1.png
  58. setDisplay(MonitorNumber, PreviousSlideNumber){
  59. global
  60. coord := getCoordinates(MonitorNumber)
  61. SetEnv file, E:\AHK\AutoHotKeyScripts\temp\Slide%PreviousSlideNumber%.png
  62. ;file := "C:\Users\SK\Documents\AutoHotKey\Slide" . %CurrentSlideNumber% . ".png"
  63. ;file := "C:\Users\SK\Documents\AutoHotKey\1.png"
  64. ;MsgBox %coord%,%MonitorNumber%,%PreviousSlideNumber%,%file%
  65. Gui, 1:destroy
  66. Gui, 1:+AlwaysOnTop +LastFound +Owner -Caption
  67. Gui, 1:Color, Black
  68. Gui, 1:Add, Picture, w%A_ScreenWidth% h-1, %file%
  69. Gui, 1:Show, x%coord% y0 maximize
  70. }
  71. ESC::
  72. objppt.SlideShowWindow.View.Exit
  73. ExitApp