Declare Function Find Window Lib "user32" Alias "Find Window A" _ (By Val lp Class Name As String, _ By Val lp Window Name As Long) As Long ' Use Lock Window Update to prevent/enable window refresh Declare Function Lock Window Update Lib "user32" _ (By Val hwnd Lock As Long) As Long ' Use Update Window to force a refresh of the Power Point window Declare Function Update Window Lib "user32" (By Val hwnd As Long) As Long Property Let Screen Updating(State As Boolean) Static hwnd As Long Dim Version No As String ' Get Version Number If State = False Then Version No = Left(Application. Version, ".") - 1) ' Get handle to the main application window using Class Name Select Case Version No Case "8" ' For PPT97: hwnd = Find Window("PP97Frame Class", 0&) Case "9" ' For PPT2K: hwnd = Find Window("PP9Frame Class", 0&) Case "10" ' For XP: hwnd = Find Window("PP10Frame Class", 0&) Case "11" ' For 2003: hwnd = Find Window("PP11Frame Class", 0&) Case "12" ' For 2007: hwnd = Find Window("PP12Frame Class", 0&) Case "14" ' For 2010: hwnd = Find Window("PPTFrame Class", 0&) Case "15" ' For 2013: hwnd = Find Window("PPTFrame Class", 0&) Case Else Err.
Raise Number:=vb Object Error ERR_VERSION_NOT_SUPPORTED, _ Description:="Newer version." Exit Property End Select If hwnd = 0 Then Err.
When screen updating is turned off, toolbars remain visible and Word still allows the procedure to display or retrieve information using status bar prompts, input boxes, dialog boxes, and message boxes.
The Screen Updating property controls most display changes on the monitor while a procedure is running.
Excel & Word have the Screen Updating method thru which a developer can lock the main window from unnecessarily redrawing itself whilst the macro is being executed. If left alone, redrawing is not only ugly on the eyes it also takes more time for the macro to reach completion.
Hence I created this generic wrapper to lock the window updates.
Raise Number:=vb Object Error ERR_NO_WINDOW_HANDLE, _ Description:="Unable to get the Power Point Window handle" Exit Property End If If Lock Window Update(hwnd) = 0 Then Err.
Raise Number:=vb Object Error ERR_WINDOW_LOCK_FAIL, _ Description:="Unable to set a Power Point window lock" Exit Property End If Else ' Unlock the Window to refresh Lock Window Update (0&) Update Window (hwnd) hwnd = 0 End If End Property 'Sample Usage: Sub Long Processing Sub() ' Lock screen redraw Screen Updating=False ' --- Long time consuming code ' Redraw screen again Screen Updating=True ' Also see below article for another example of usage of the code End Sub It's fairly simple to open a Power Point file (*.ppt) for editing using VBA code however opening a Power Point Show (*.pps) file for editing is altogether another matter. Open method and it defaults to open the file in Slide Show mode. The routine below illustrates a manner of woring around the default behaviour and opening the file for editing.
Please join our friendly community by clicking the button below - it only takes a few seconds and is totally free. You must set the Screen Updating property to True when the procedure finishes or when it stops after an error. You can increase the speed of some procedures by keeping screen updating turned off. Insert Paragraph After End With If x Mod 50 = 0 Then Active Document. The macro opens Powerpoint, creates slides and exports graphs from excel to powerpoint. How can I disable Screen Updating of powerpoint FROM excel?