What can do to identify individual pages altered in long document

  • Thread starter Thread starter joiel
  • Start date Start date
J

joiel

What can I add to a document to know if an individual
page has been altered or revised so I can print out only
those pages or notify others to just review the changed
pages. Of course I could write down the page numbers but
that seems silly. The document is quite lengthy and I
dont want to keep sending the entire book when only
individual pages have been altered. Thanks.
 
Hi joiel,

You need a macro to do this. I'm actually in the process of
(slowly) writing one. The perhaps-not-fully-debugged result
is below. BTW this assumes you know about Word's revision-
tracking feature and are already using it. If not, it's back
to Square One with ya. Hit F1, type 'track changes' in the
box, and read it all first.

If you're unacquainted with Word macros and don't know how to
use macros that are offered in these newsgroups, please see:
http://www.mvps.org/word/FAQs/MacrosVBA/CreateAMacro.htm

Hope this helps. The macro follows my sig.

--
Mark Tangard <[email protected]>, Microsoft Word MVP
Please reply ONLY to the newsgroup, not by private email.
Note well: MVPs do not work for Microsoft.
"Life is nothing if you're not obsessed." --John Waters


Dim r As Range, i As Long, pagelist As String
Dim revsdoc As Document, revpages As Long
If Documents.Count = 0 Then MsgBox "No doc open!": Exit Sub
Set revsdoc = ActiveDocument
If revsdoc.Saved = False Then
MsgBox "Please save the document first.", , ": Exit Sub
End If
If revsdoc.Revisions.Count = 0 Then
MsgBox "No tracked changes in this document.": Exit Sub
End If

Set r = revsdoc.Range(0, 0)
For i = 1 To revsdoc.ComputeStatistics(wdStatisticPages)
Set r = r.GoTo(What:=wdGoToPage, Name:=Trim(Str(i)))
Set r = r.GoTo(What:=wdGoToBookmark, Name:="\page")
If r.Revisions.Count > 0 Then
revpages = revpages + 1
r.Collapse wdCollapseStart
pagelist = pagelist & ", " & _
r.Information(wdActiveEndPageNumber)
End If
Next i
pagelist = Mid$(pagelist, 3, 999) 'Remove leading comma
If MsgBox("Revisions found on " & revpages & _
" pages: " & pagelist & vbCr & vbCr & "Print them?", _
vbOKCancel, " Revised Pages") = vbCancel Then Exit Sub
revsdoc.PrintRevisions = True
revsdoc.PrintOut Range:=wdPrintRangeOfPages, Pages:=pagelist
 
Back
Top