sandgre Posted July 8, 2022 Share Posted July 8, 2022 (edited) Wondering if you can help a teacher out. For the last few years of remote, hybrid, and in-person teaching I've been using an AutoHotKey script that creates an inking toolbar to be used during a PowerPoint presentation. (https://www.autohotkey.com/boards/viewtopic.php?t=79163) The annotation tools available through Ppt are woefully inadequate, and, on my machine at least, jump around all over the place - sometimes on the bottom, sometimes on the left, sometimes on the right. It's a scavenger hunt every single time. The inking tool is always available, and recent updates allowed for the addition of lots more colors, which I used for modeling phenomena with students. One tragic day I arrived to school to find that my district IT dep't took away access to AutoHotKey. No more tool bar. I've been trying to resurrect some programming skills from a past life. I'm working through various tutorials and help files, with the goal of recreating the toolbar in AutoIt. I'm really needing some help to move things along though. I've been going through your PowerPoint UDF and all of your functions seem to just relate to editing the slides. Can you point me in the direction of how to create a toolbar that accesses the annotation tools that are available during the slideshow itself? Edited July 8, 2022 by Jos Split post into its own thread Link to comment Share on other sites More sharing options...
water Posted July 8, 2022 Share Posted July 8, 2022 The AHK script consists of about 7500 lines of code plus inline DLLs plus GDI Image processing. Quite a task to translate this to AutoIt. Can't you ceate an Exe from this AKH tool and run this exe? To create an AutoIt script you have to look at the PowerPoint Object Reference. Seems he uses Presentation.SlideShowWindow.View a lot. I know nothing about AHK, DLLs and GDI. So this isn't just a simple translation job. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
argumentum Posted July 8, 2022 Share Posted July 8, 2022 7 hours ago, sandgre said: One tragic day I arrived to school to find that my district IT dep't took away access They can take away anything, therefore, the problem/solution is not in recreating it in AutoIt but to get the IT dept. to let you use what you feel you need. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
junkew Posted July 11, 2022 Share Posted July 11, 2022 1. You probably know https://support.microsoft.com/en-us/office/draw-on-slides-during-a-presentation-80a78a11-cb5d-4dfc-a1ad-a26e877da770 2. A reference to VBA https://docs.microsoft.com/en-us/office/vba/api/powerpoint.slideshowview.pointertype 3. Some powerpoint UDF users can probably easy translate this ActivePresentation.SlideShowSettings.Run.View.PointerColor.RGB = RGB(255, 0, 0) ActivePresentation.SlideShowSettings.Run.View.PointerType = ppSlideShowPointerPen '2 Or maybe a short term alternative just to get quicker to your contextmenu (you could add a mousemove to a certain position so it allways comes at the same location) #include <MsgBoxConstants.au3> ; Press Esc to terminate script, Pause/Break to "pause" Global $g_bPaused = False HotKeySet("{PAUSE}", "TogglePause") HotKeySet("{ESC}", "Terminate") HotKeySet("+!q", "ShowInk") ; Shift-Alt-d While 1 Sleep(100) WEnd Func TogglePause() $g_bPaused = Not $g_bPaused While $g_bPaused Sleep(100) ToolTip('Script is "Paused"', 0, 0) WEnd ToolTip("") EndFunc ;==>TogglePause Func Terminate() Exit EndFunc ;==>Terminate Func ShowInk() MouseClick($MOUSE_CLICK_RIGHT) sleep(200) send("{DOWN 7"} EndFunc ;==>ShowMessage But I wouldn't be surprised if your IT department closes AutoIt also. (Then you only have as alternative Powershell or VBA itself left) FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now