Kopfzeile mit 100%Tabelle bei Querseite Probleme.

06/03/2009 - 11:32 von P.Belloni | Report spam
Hi

Word 2003
VBA

Ich stellte die Frage schon mal, möchte Sie aber anders formulieren, da ich
keine Antwort erhielt und es natürlich super dringend ist!

Bitte führt mal dieses Makro aus (habe den "unnötigen" Code nicht entfernt):

Sub MakroQuerseite()
Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
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
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1,
NumColumns:= _
1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
With Selection.Tables(1)
If .Style <> "Tabellengitternetz" Then
.Style = "Tabellengitternetz"
End If
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Tables(1).PreferredWidthType = wdPreferredWidthPercent
Selection.Tables(1).PreferredWidth = 100
Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Tables(1).Columns(1).PreferredWidth = 0
Selection.Range.Cells(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Range.Cells(1).PreferredWidth = 0
Selection.TypeText Text:="Kopf2"
If Selection.HeaderFooter.IsHeader = True Then
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Else
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
End If
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1,
NumColumns:= _
1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
With Selection.Tables(1)
If .Style <> "Tabellengitternetz" Then
.Style = "Tabellengitternetz"
End If
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Tables(1).PreferredWidthType = wdPreferredWidthPercent
Selection.Tables(1).PreferredWidth = 100
Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Tables(1).Columns(1).PreferredWidth = 0
Selection.Range.Cells(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Range.Cells(1).PreferredWidth = 0
Selection.TypeText Text:="Kopf2"
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
With ActiveDocument.Styles(wdStyleNormal).Font
If .NameFarEast = .NameAscii Then
.NameAscii = ""
End If
.NameFarEast = ""
End With
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(2.5)
.RightMargin = CentimetersToPoints(2.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.7)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = True
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
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
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1,
NumColumns:= _
1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
With Selection.Tables(1)
If .Style <> "Tabellengitternetz" Then
.Style = "Tabellengitternetz"
End If
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Tables(1).PreferredWidthType = wdPreferredWidthPercent
Selection.Tables(1).PreferredWidth = 100
Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Tables(1).Columns(1).PreferredWidth = 0
Selection.Range.Cells(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Range.Cells(1).PreferredWidth = 0
Selection.TypeText Text:="Kopf1"
If Selection.HeaderFooter.IsHeader = True Then
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Else
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
End If
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1,
NumColumns:= _
1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
With Selection.Tables(1)
If .Style <> "Tabellengitternetz" Then
.Style = "Tabellengitternetz"
End If
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Tables(1).PreferredWidthType = wdPreferredWidthPercent
Selection.Tables(1).PreferredWidth = 100
Selection.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Tables(1).Columns(1).PreferredWidth = 0
Selection.Range.Cells(1).PreferredWidthType = wdPreferredWidthAuto
Selection.Range.Cells(1).PreferredWidth = 0
Selection.TypeText Text:="Kopf1"
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
Selection.InsertBreak Type:=wdPageBreak
Selection.InsertBreak Type:=wdSectionBreakNextPage
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(2.5)
.RightMargin = CentimetersToPoints(2.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.7)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientLandscape
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2.5)
.LeftMargin = CentimetersToPoints(2)
.RightMargin = CentimetersToPoints(2.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(29.7)
.PageHeight = CentimetersToPoints(21)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
Selection.InsertBreak Type:=wdSectionBreakNextPage
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.5)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(2.5)
.RightMargin = CentimetersToPoints(2.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.7)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
End Sub

Danach seht Ihr, wie die Tabelle (width 100%) in der Kopfzeile auf Seite
2/3/4 sich stàndig in der Lànge veràndert,
wenn man runter oder raufscrollt mit der Maus. Wie kann man das
stabilisieren? Ist das ein Bug?
Beim Ausdruck verhàlt es sich etwa gleich, manchmal kommt es sauber raus,
manchmal hat die Querseite eine kurze Tabelle, wie von der Hochseite, oder
umgekehrt.

Was kann ich tun? Der Kunde mit 100 Leuten wartet...

Gruss und Dank
 

Lesen sie die antworten

#1 Thomas Gahler
06/03/2009 - 12:57 | Warnen spam
Hallo P.


Bitte führt mal dieses Makro aus (habe den "unnötigen" Code nicht
entfernt)


Habe ich gemacht


Danach seht Ihr, wie die Tabelle (width 100%) in der Kopfzeile auf Seite
2/3/4 sich stàndig in der Lànge veràndert,
wenn man runter oder raufscrollt mit der Maus. Wie kann man das
stabilisieren? Ist das ein Bug?


Nö das ist wohl kein Bug. Es ist eher so, dass du ein wenig gemein bis zu
Word. Deine Tabellen sollen 100% gross sein, deine Abschnitte sind mal hoch
mal quer, die Eingeschaft "wie vorherige" ist bei allen Kopf-/Fusszeilen
gesetzt (Wordstandard). Jetzt soll sich Word entscheiden ob es die gleiche!
Tabelle ca. 21cm oder ca. 29.7cm breit machen soll.
Word ist hin und her gerissen was es denn jetzt tund soll, den jene nachdem
welche Seite am Bildschim angezeigt wird ist die Tabelle eben schmal oder
breit.

Du kannst es so stehen lassen, weil Word den Ausdruck im Griff hat oder du
musst beim erstellen des neune Abschnittes in der Kopf-/Fusszeile die
.LinkToPrevious-Eigenschaft = False setzen. Dann werden dir jedoch
Änderungen in der Kopfzeile nihct auf die folgenden Abschnitte übernommen.



Beim Ausdruck verhàlt es sich etwa gleich, manchmal kommt es sauber raus,
manchmal hat die Querseite eine kurze Tabelle, wie von der Hochseite, oder
umgekehrt.


Hatte ich nicht, doch allzu viele Ausdrucke habe ich nicht erstellt.





Thomas Gahler
MVP für Word
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)

Ähnliche fragen