powerpoint.ahk 2.3 KB

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