user310291
user310291

Reputation: 38180

How to show and move mouse cursor in Powerpoint VBA?

I searched extensively on this and incredibly there seems to be no answer. Does anyone know how to do this?

Upvotes: 3

Views: 4353

Answers (1)

Todd Main
Todd Main

Reputation: 29153

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

Upvotes: 4

Related Questions