Results 1 to 4 of 4
  1. #1
    3 Star Lounger
    Join Date
    Apr 2001
    Location
    Levin, Manawatu-Wanganui, New Zealand
    Posts
    324
    Thanks
    9
    Thanked 28 Times in 26 Posts

    Word, L/scape Headers & Footers

    Hello
    What solutions have people used to place Headers & Footers for Landscape oriented pages across the short edge.
    I have used text boxes which is fiddly at best. The VBA code to control this becomes a nightmare.
    Regards
    Geof

  2. #2
    Silver Lounger Charles Kenyon's Avatar
    Join Date
    Jan 2001
    Location
    Sun Prairie, Wisconsin, Wisconsin, USA
    Posts
    2,049
    Thanks
    124
    Thanked 119 Times in 116 Posts

    Re: Word, L/scape Headers & Footers

    Hi Geof,

    Take a look at <A target="_blank" HREF=http://support.microsoft.com/support/kb/articles/q162/2/35.asp>Q162235: WD97: How to Add a Portrait Page Number to a Landscape Page.</A>. Hope it helps.
    Charles Kyle Kenyon
    Madison, Wisconsin

  3. #3
    Super Moderator
    Join Date
    Dec 2000
    Location
    New York, NY
    Posts
    2,970
    Thanks
    3
    Thanked 29 Times in 27 Posts

    Re: Word, L/scape Headers & Footers

    Geof,

    Here's a macro I wrote some time ago (Word 97) to do just that.
    Notes:
    This inserts a new landscape section at the current insertion point - essentially it splits the current section into two parts, with the new landscape section in the middle - you then need to copy/paste the material intended for the LS section, into the new LS section.

    The macro relies on inserting an autotext to provide for the sideways page number - this is just a textbox that was tweaked to just the right location and had the text direction changed - you'd have to create your own autotext for this purpose.

    I've left in (but commented out) the little tests I was using to suss out what was actually going on, when creating this.

    <pre>Sub InsertLandscapeSection()
    Dim rCurRng As Range
    Dim nSectCount As Integer
    Dim nUserView As Integer
    'Gary Frieder
    'Posted on Woody's Lounge Word forum

    'test to ensure in main doc story and prompt if not
    If Selection.Information(wdInHeaderFooter) = True Then
    MsgBox "Insertion Point Must Be In Body of Page" _
    & vbCr & "Before Running This Procedure", vbExclamation, _
    "Alert: Place Insertion Point in Body of Page"
    Exit Sub
    End If
    On Error GoTo InsertLandscapeSection_err
    Application.ScreenUpdating = False

    'ensure in page view for rest of procedure
    nUserView = ActiveWindow.View.Type
    If nUserView <> wdPageView Then
    ActiveWindow.View.Type = wdPageView
    End If

    With Selection
    '.TypeText ("I started here")
    .TypeParagraph
    Set rCurRng = Selection.Range
    'Insert first Section Break
    .Sections.Add Range:=rCurRng
    '.TypeText ("Where am I now - 1?")
    .TypeParagraph

    .TypeParagraph
    Set rCurRng = Selection.Range
    'Insert 2nd Section Break
    .Sections.Add Range:=rCurRng
    '.TypeText ("And Where am I now - 2?")
    .TypeParagraph

    .GoTo What:=wdGoToSection, Which:=wdGoToNext, Count:=1, _
    Name:=""
    .TypeText ("Landscape Section")
    .TypeParagraph
    End With

    'get index of current section
    nSectCount = Selection.Information(wdActiveEndSectionNumber)
    'turn off Same As Previous in header and footer
    With ActiveDocument.Sections(nSectCount).Headers(wdHead erFooterPrimary)
    .LinkToPrevious = False
    End With
    With ActiveDocument.Sections(nSectCount).Footers(wdHead erFooterPrimary)
    .LinkToPrevious = False
    .PageNumbers.RestartNumberingAtSection = False
    End With

    With Selection
    .GoTo What:=wdGoToSection, Which:=wdGoToNext, Count:=1, _
    Name:=""
    '.TypeText ("And I ended up here - OK with that?")
    .TypeParagraph
    End With
    'get index of current section
    nSectCount = Selection.Information(wdActiveEndSectionNumber)
    'turn off Same As Previous in header and footer
    With ActiveDocument.Sections(nSectCount).Headers(wdHead erFooterPrimary)
    .LinkToPrevious = False
    .PageNumbers.RestartNumberingAtSection = False
    End With
    With ActiveDocument.Sections(nSectCount).Footers(wdHead erFooterPrimary)
    .LinkToPrevious = False
    End With

    'now go back to LS section to set stuff
    With Selection
    .GoTo What:=wdGoToSection, Which:=wdGoToPrevious, Count:=1, _
    Name:=""
    '********Do all this AFTER fixing trailing section LinkToPrev
    .TypeParagraph
    With .PageSetup
    .Orientation = wdOrientLandscape
    .TopMargin = InchesToPoints(1.0625)
    .BottomMargin = InchesToPoints(1.0625)
    .LeftMargin = InchesToPoints(1)
    .RightMargin = InchesToPoints(1)
    .HeaderDistance = InchesToPoints(0.5)
    .FooterDistance = InchesToPoints(0.5)
    .PageWidth = InchesToPoints(11)
    .PageHeight = InchesToPoints(8.5)
    End With
    End With
    'In LS section, Go to header and insert page no Autotext
    '(get code from earlier version)
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    ActiveDocument.AttachedTemplate.AutoTextEntries("L andscapeSectionPageNumber"). _
    Insert Where:=Selection.Range
    'go back to main document
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    'In LS section, Go to footer and delete contents
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    With Selection
    .WholeStory
    .Delete
    End With
    'go back to main document
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    '*********************************

    'restore original user view
    If nUserView <> wdPageView Then
    ActiveWindow.View.Type = nUserView
    End If

    Application.ScreenUpdating = True
    Exit Sub

    InsertLandscapeSection_err:
    Application.ScreenUpdating = True
    SetBodySectionPageMargins_err:
    Application.ScreenUpdating = True
    MsgBox Err.Number & " : " & Err.Description, vbOKOnly, _
    "modDTP_PgSet.InsertLandscapeSection"
    End Sub
    </pre>


  4. #4
    Uranium Lounger
    Join Date
    Dec 2000
    Location
    Los Angeles Area, California, USA
    Posts
    7,453
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Word, L/scape Headers & Footers

    Hi Geof:

    You can also see this post.

    A couple of additional tips that I've copied from somewhere regarding landscape sections with portrait header/footers are:

    Method 2 (unless you need a footnote):
    1. Exchange all the row entries for column entries, so the rows become columns and the columns become rows. (Map each entry table1[i,j] to table2[j,i], for row entries i=1,...,I, and column entries j=1,...,J.)
    2. Rotate text direction of all the table entries so now the head of the table is on the left-hand side of the page. [THIS ONLY WORKS IN WORD 97 or later.]

    So the headers are in the right place at the top of the page, with the head of the table at the left side. But the footnote is at the bottom of the page instead of landscape under the table.
    Is there a way of having a footnote appear at the foot of a table instead of the foot of the page?
    You can trick Word by copying the header info into a text box and the footer (if needed) into a text box. You can adjust the direction of the text from a textbox and place the "header" textbox on the right side of the page and the footer textbox on the left side. This will show the "top" of the landscape page on the right side of the adjusted portrait page. [AGAIN, ONLY IN 97]

    You can also use the above method for portrait header/footers with landscape table.
    1. Make the table landscape.
    2. Disconnect the header/footers on the landscaped pages.
    3. Copy the header/footer info into textboxes.
    4. Rotate the text in the text boxes. [Can

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •