Solved

Insert formatted blank page before section break?

Posted on 1998-07-11
3
371 Views
Last Modified: 2012-06-22
While Word will put a blank page before a break so the next section starts on an odd page, I do not see a way to have a "blank" page have header/footer and phrase "This page intentionally left blank".  I'm working on a macro, but no luck yet.
0
Comment
Question by:michaelv071198
3 Comments
 

Author Comment

by:michaelv071198
ID: 1612773
Why do I need this? The normal blank page works fine if manuals are double-sided, but I get questions about missing pages if distributed as one-sided so people can make copies.  I used to manually put in the "intentionally left blank" phase as needed, but it adds a lot of proofing time since they always jumped around during editting.
0
 

Expert Comment

by:peterprice
ID: 1612774
I use to run a macro in word 5 to do something similar in that I had a standard header that used sheet numbering within chapter/section etc. I had a macro that I used on that but I found that it was easiest to apply it after writing the document. what I used to do was have the macro insert a Page Break & 'key phrase or character string' with the text I wanted but have that key phrase set to hidden. On editing when the macro was run it would remove all pages from the document that had the key phrase and then start from the beginning of the document inserting new pages with the key phrase and text just before a change of section. I no longer used Word 5 so I have lost the MACRO, but the principle is still valid and it should be possible to  write the same in the latest versions.
0
 
LVL 5

Accepted Solution

by:
tuvi earned 200 total points
ID: 1612775
Here are the macro "InsertDocPrint" that you can use:

Sub InsertDocPrint()
Dim prtDoc As Document
Dim tmpDoc As Document
Dim tmpDocFooter As Range
Dim prtDlg As Dialog
Dim numPage As Long
Dim page As Long
Dim emptyPage As Long

Set prtDoc = ActiveDocument
Set prtDlg = Dialogs(wdDialogFilePrint)
Documents.Add
Set tmpDoc = ActiveDocument
tmpDoc.Content.InsertAfter "This page is intentionally left blank"
Set tmpDocFooter = tmpDoc.Sections.First.Footers(wdHeaderFooterPrimary).Range
tmpDocFooter.ParagraphFormat.Alignment = wdAlignParagraphCenter

On Error GoTo Reset
Application.ScreenUpdating = False

numPage = prtDoc.Content.Information(wdNumberOfPagesInDocument)

page = 1
Do
  prtDoc.Activate
  emptyPage = EvenEmptyPage(page + 1, numPage)
  If emptyPage = 0 Then
    prtDlg.Execute
    page = numPage + 1
  Else
    With prtDlg
      .Pages = Str$(page) & "-" & Str$(emptyPage - 1)
      .Execute
    End With
    tmpDoc.Activate
    tmpDocFooter.Text = "Page " & Str$(emptyPage) & " of " & Str$(numPage)
    prtDlg.Execute
    page = emptyPage + 1
  End If
Loop While page <= numPage

tmpDoc.Close wdDoNotSaveChanges
prtDoc.Activate

Set tmpDoc = Nothing
Set tmpDocFooter = Nothing
Set prtDoc = Nothing
Set prtDlg = Nothing

Reset:
  Application.ScreenUpdating = True
End Sub

Private Function EvenEmptyPage(ByVal startPage As Long, numPage As Long) As Long
  Dim startRange As Range
  Dim endRange As Range
  Dim pageRange As Range
  Dim evenPageNumber As Long
  Dim found As Boolean
 
  If (startPage Mod 2) = 1 Then
    startPage = startPage + 1
  End If
 
  If startPage > numPage Then
    EvenEmptyPage = 0
    Exit Function
  End If
 
  found = False
  Do
    Set startRange = ActiveDocument.GoTo(wdGoToPage, wdGoToAbsolute, startPage)
    Set endRange = ActiveDocument.GoTo(wdGoToPage, wdGoToAbsolute, startPage + 1)
    Set pageRange = ActiveDocument.Range(startRange.Start, endRange.End)
 
    If Len(pageRange.Text) = 0 Then
      found = True
    Else
      startPage = startPage + 2
    End If
  Loop While (startPage <= numPage) And Not found
 
  If found Then
    evenPageNumber = startPage
  Else
    evenPageNumber = 0
  End If
 
  Set startRange = Nothing
  Set endRange = Nothing
  Set pageRange = Nothing
 
  EvenEmptyPage = evenPageNumber
End Function
---------------------------------
The idea is check for empty even page, then print an empty document with the note: "This page is intentionally left blank"
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

How many times recently have you prepared a presentation or emailed a document to a client and you have found that they have older versions of MS Office and they can not open the file you have prepared.  Although most visitors to this site are exper…
In this article we discuss how to recover the missing Outlook 2011 for Mac data like Emails and Contacts manually.
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now