How to show and move mouse cursor in Powerpoint VBA?
-
24-10-2019 - |
Question
I searched extensively on this and incredibly there seems to be no answer. Does anyone know how to do this?
Solution
The show cursor part is part of PowerPoint - the move part needs to come from an API call. Here you go:
Public Declare Function SetCursorPos Lib "user32.dll" (ByVal X As Long, ByVal Y As Long) As Long
//'USE THIS IF x64: Public Declare PtrSafe Function SetCursorPos Lib "user32.dll" (ByVal X As Long, ByVal Y As Long) As LongPtr
Public Type POINTAPI
X As Long
Y As Long
End Type
Sub ShowCursorAndMove()
Dim currView As SlideShowView
Set currView = ActivePresentation.SlideShowSettings.Run.View
currView.PointerType = ppSlideShowPointerArrow
MoveMouse 400, 300
End Sub
Sub MoveMouse(X As Single, Y As Single)
Dim pt As POINTAPI
pt.X = X
pt.Y = Y
SetCursorPos pt.X, pt.Y
End Sub
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow