Application screenupdating excel vba

Rated 4.81/5 based on 656 customer reviews

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.Open("C:\sample.pps", _ With Window:=mso False) 'Open a window now to the presentation for editing p Show.New Window ' Unlock the window to start refreshing again Screen Updating = True Exit Sub Err Handle: If Err.' This includes both posting free demo projects made from this ' code as well as reproducing the code in text or html format.' --------------------------------------------------------------------------------' User Defined Error codes Const ERR_NO_WINDOW_HANDLE As Long = 1000 Const ERR_WINDOW_LOCK_FAIL As Long = 1001 Const ERR_VERSION_NOT_SUPPORTED As Long = 1002 ' API declarations for Find Window() & Lock Window Update() ' Use Find Window API to locate the Power Point handle.

I have attempted to edit your code but I cannot test it.

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.

Screen Updating-Property does not work properly in Excel 2016 / Win 10. The screen is updated after each step in VBA, although the Screen Updating is set to False. It would be nice to have this bug fixed as quickly as possible, since I have hundreds of Makros who depend on this property.

There is a word that you can use with Application that will neutralise all the alerts that Excel can send your way.

Leave a Reply