Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Check whether section breaks exist

Posted on 2010-11-17
2
Medium Priority
?
576 Views
Last Modified: 2012-06-21
Dear Experts:

I would like a macro to check the following on the current multipage document:

Check whether ...
... at the end of page 1 a section break exists (either section break 'new page' or section break 'even page').
If none of these type of section breaks exists on page 1 the macro is to say so in a MsgBox and is to exit

If such a section break exists on page 1 the macro is to go on and check whether ...
... at the end of the penultimate page an 'even page' or a 'new page' section break exists.
If neither of these section breaks exist on the penultimate page the macro is to say so in a MsgBox and is to exit.

I have attached a sample for your convenience.

Thank you very much in advance for your professinal help.

Regards, Andreas  SectionBreaks-Macro.docx SectionBreaks-Macro.docx
0
Comment
Question by:AndreasHermle
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 2000 total points
ID: 34163395
Hi Andreas.

That is a bit trickier than it looks at first sight - see the comment.
Sub CheckSectionStarts()
    Dim bFirst As Boolean
    Dim bLast As Boolean
    
    Selection.GoTo wdGoToPage, wdGoToAbsolute, 2
    If Selection.Sections(1).Index = 2 Then
        Select Case ActiveDocument.Sections(2).PageSetup.SectionStart
            Case wdSectionEvenPage, wdSectionNewPage
                    bFirst = True
            Case Else
        End Select
    End If
    
    If bFirst Then
        Selection.GoTo wdGoToPage, wdGoToAbsolute, Selection.Information(wdNumberOfPagesInDocument) - 1
        'next line checks that penultimate page is not an empty page created by a break on the previous page
        If Selection.Information(wdActiveEndPageNumber) = Selection.Information(wdNumberOfPagesInDocument) - 1 Then
            Select Case ActiveDocument.Sections.Last.PageSetup.SectionStart
                Case wdSectionEvenPage, wdSectionNewPage
                        bLast = True
                Case Else
            End Select
        End If
    End If
    
    If bFirst Then
        If Not bLast Then
            MsgBox "The penultimate page does not end with a New or an Even Page section break"
        End If
    Else
        MsgBox "Page 1 does not end with a New or an Even Page section break"
    End If
End Sub

Open in new window

0
 

Author Closing Comment

by:AndreasHermle
ID: 34164810
Dear Graham,

it sure looks complicated. Thank you very much for your superb help. Exactly as I wanted it. I works just great!

Regards, Andreas
0

Featured Post

New benefit for Premium Members - Upgrade now!

Ready to get started with anonymous questions today? It's easy! Learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Authors who set out to write any sort of lengthy piece for online submission—be it a long question or comment on a technical form, an article, or a substantial blog entry—often find it useful to work up a draft in an editor other t…
A few years ago I was very much a beginner at VBA, and that very much remains the case today.  I'll do my best to explain things as I go in the hope that other beginners can follow.  If you just want to check out a tool that creates a Select Case fu…
The viewer will learn how to make their project stand out over others by learning how to change colors and shapes, add spaces, change directions, and add bullets to their charts.
This video shows where to find the word count, how to display it, and what it breaks down to in Microsoft Word.

670 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