?
Solved

Word VBA code to insert a document footer in all sections of a document

Posted on 2006-07-13
3
Medium Priority
?
432 Views
Last Modified: 2008-02-01
I'm trying to write some VBA to automate the process of stripping out the first 13  characters of the document name and insert that result as a right-justified footer in all sections of my document.  Everything works EXCEPT I can get the for each loop to work for all the other sections of the document.  Here is my code.   I know it's something to do with the footer properties that I'm missing that casuing it not to work in all sections.  Any help would be greatly appreiciated!

oboefajitaman

Sub stripdocumentname()
 
    Dim namelcase As String
    Dim sec As Section
     
    namelcase = LCase(Mid(ActiveDocument.Name, 13))
                       
        If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
            ActiveWindow.Panes(2).Close
        End If
       
        If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
            ActivePane.View.Type = wdOutlineView Then
            ActiveWindow.ActivePane.View.Type = wdPrintView
        End If
       
        For Each sec In ActiveDocument.Sections
            ActiveDocument.PageSetup.DifferentFirstPageHeaderFooter = False
            ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
            Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
            Selection.InsertBefore (namelcase)
            Selection.Font.Size = 7
            ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
        Next sec

End Sub
0
Comment
Question by:oboefajitaman
[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
3 Comments
 
LVL 93

Expert Comment

by:Patrick Matthews
ID: 17103291
Hi oboefajitaman,

Within the loop, you never actually refer to any particular sections.  You'll need to fix that.

Regards,

Patrick
0
 

Author Comment

by:oboefajitaman
ID: 17103320
OK,  I'm just learning VBA and will need a little push here :)

How do I refer to all sections?
0
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 1500 total points
ID: 17104353
It's not clear exactly what your problem is, but I find it easier work on the document directly, instead of through the user interface (changing view, activating windows and using the selection).

This demonstrates:

Sub stripdocumentname()
 
    Dim namelcase As String
    Dim sec As Section
    Dim para As Paragraph
    Dim ftr As HeaderFooter
   
    namelcase = LCase(Mid(ActiveDocument.Name, 13))
                       
    For Each sec In ActiveDocument.Sections
        For Each ftr In sec.Footers 'Primary, First page and even page
            If ftr.Exists Then
                Set para = ftr.Range.Paragraphs(1)
                para.Alignment = wdAlignParagraphRight
                para.Range.InsertBefore namelcase
                para.Range.Font.Size = 7
            End If
        Next ftr
    Next sec

End Sub
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

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

Introduction This tutorial provides instructions on how to properly format your Word document using the inbuilt tools provided. The benefits of using these tools means your documents are more accessible and easily portable to other applications an…
This article describes a method of delivering Word templates for use in merging Access data to Word documents, that requires no computer knowledge on the part of the recipient -- the templates are saved in table fields, and are extracted and install…
This video shows the viewer how to set up and create Footnotes in their document. Click on the References tab: Select "Insert Footnote": Type in desired text:
This video shows where to find templates, what they are used for, and how to create and save a custom template using Microsoft Word.
Suggested Courses
Course of the Month13 days, 11 hours left to enroll

801 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