What can do to identify individual pages altered in long document

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.
 
M

Mark Tangard

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top