Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 10-17-2020, 09:21 PM
macropod's Avatar
macropod macropod is offline Short loop takes no less than 12s to run, uses 25% CPU power! Windows 10 Short loop takes no less than 12s to run, uses 25% CPU power! Office 2010
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,521
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

With Word 2010 on my laptop, using:
Code:
Sub Test()
' Dimension Variables
Dim eTime As Single, Rvn As Revision, i As Long
' Start Timing
eTime = Timer
With ActiveDocument.Range
  For Each Rvn In .Revisions
    With Rvn
    End With
  Next
  ' Calculate elapsed time
  eTime = (Timer - eTime + 86400) Mod 86400 ' Just in case execution time spans midnight
  MsgBox "Execution took " & Format(eTime / 86400, "hh:mm:ss")
  ' Start Timing
  eTime = Timer
  For i = 1 To .Revisions.Count
    With .Revisions(i)
    End With
  Next
  ' Calculate elapsed time
  eTime = (Timer - eTime + 86400) Mod 86400 ' Just in case execution time spans midnight
  MsgBox "Execution took " & Format(eTime / 86400, "hh:mm:ss")
  ' Start Timing
  eTime = Timer
  For i = .Revisions.Count To 1 Step -1
    With .Revisions(i)
    End With
  Next
  ' Calculate elapsed time
  eTime = (Timer - eTime + 86400) Mod 86400 ' Just in case execution time spans midnight
  MsgBox "Execution took " & Format(eTime / 86400, "hh:mm:ss")
End With
End Sub
the first loop took less than 1 second, the next two took about 1 second each.

Note: It's hardly surprising that a VBA routine might use about 25% (and no more) of a quad-core CPU's capacity.
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
  #2  
Old 10-18-2020, 03:58 AM
alex100 alex100 is offline Short loop takes no less than 12s to run, uses 25% CPU power! Windows 7 64bit Short loop takes no less than 12s to run, uses 25% CPU power! Office 2016
Advanced Beginner
Short loop takes no less than 12s to run, uses 25% CPU power!
 
Join Date: May 2020
Posts: 79
alex100 is on a distinguished road
Default

Andrew, Paul, thank you both very much!

I tested your solutions, and in my case, the only one that did improve the execution time was Paul's first loop.

So, for the sake of clarity, here's the code I was using...

Code:
Dim iRev As Long
For iRev = ActiveDocument.Range.Revisions.Count To 1 Step -1
    With ActiveDocument.Range.Revisions(iRev)
        With ActiveDocument.Range.Revisions(iRev)
            Select Case .Type
                Case wdRevisionDelete, wdRevisionCellDeletion
                '
                ' more code here...
                '
                .Reject
            End Select
        End With
    End With
Next iRev
Execution time: 12 seconds

And now, with a major speed improvement (thanks to Paul's code!), I'm using this...

Code:
Dim iRev As Revision
With ActiveDocument.Range
    For Each iRev In .Revisions
        With iRev
            Select Case .Type
                Case wdRevisionDelete, wdRevisionCellDeletion
                '
                ' more code here...
                '
                .Reject
            End Select
        End With
    Next
End With
Execution time: 1 second

Apart from the huge difference in execution time, there are no other differences in the end result.

Alex
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Can i open a power point in design mode through a power point shoe noora PowerPoint 4 12-10-2019 12:18 AM
Google Docs Power Point Short cuts / Insert Image etc Rado PowerPoint 4 04-11-2014 03:50 AM
video loop lag in power point 2013 drwrath PowerPoint 2 04-29-2013 05:53 PM
Microsoft Power Point 2004 to Office Power Point 2007 chuff PowerPoint 0 03-20-2011 01:23 PM
Short loop takes no less than 12s to run, uses 25% CPU power! mail merge takes and age williebear Outlook 1 05-27-2009 11:32 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 11:20 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft