Diese Seite beschreibt meine Erfahrung in der Verwaltung so genannte "Seitenränder".
Überblick
Es gibt keine Eigenschaft eines Dokuments, das Sie steuern die Sichtbarkeit der Seite (das heißt, Abschnitt) Grenzen können. Wir steuern Abschnitt Grenzen auf der Ebene der Sektion.Jeder Abschnitt kann 4 Grenzen: oben, rechts, unten, links. Es gibt keine horizontale, vertikale oder diagonale Grenzen für einen Abschnitt. Der Versuch, horizontal, vertikal oder diagonal Grenzen für einen Abschnitt zuzugreifen wirft Fehler 5941 "Das angeforderte Element der Auflistung ist nicht vorhanden."
Es gibt einen Satz von Grenzen für jeden Abschnitt. Es ist nicht möglich zu haben, sagen, pink Grenzen auf Seite 1 und grünen Grenzen auf Seite 2 eines Abschnitts. Jedoch, dass ein Satz von Grenzen kann auf der ersten Seite nur aus einem Abschnitt oder auf zweiten und nachfolgenden Seiten, oder beiden anzuzeigen.
Auf Dokumentebene: Aktivieren Grenzen mit Sektionen (n) Borders.Enable.
Die Section-Objekt verfügt über eine
Deshalb, wenn wir irgendwelche Abschnitt Grenzen wollen, müssen diese Eigenschaft .Borders.Enable
Eigentum. Sie können diese Eigenschaft auf True
oder False
. Leider aber ist es nicht darauf beschränken, ein Abschnitt.
Egal, welche Ihrer Dokuments Sections Sie diese um, Word gelten ändert
den Wert der Eigenschaft für alle Abschnitte im Dokument. True
. Nachdem Sie festgelegt haben es True
, nicht ändern oder Sie müssen eingestellt erneut alle Details der einzelnen Grenzen in einzelnen Abschnitt. Während wir nicht können die
.Enable
Eigenschaft für einen einzelnen Abschnitt, können wir es für jeden einzelnen Abschnitt zu lesen. Die möglichen Rückgabewerte für Sections( n ).Enable
zu sein scheinen: - Wenn alle vier Ränder im Querschnitt haben
.LineStyle = wdLineStyleNone
, dann Word gibt 0 (das heißt,False
) - Wenn alle vier Ränder im Abschnitt. LineStyle anderen haben als
wdLineStyleNone
, dann Word kehrt -1 (das heißt,True
) - Else kehrt Wort
wdUndefined
(9999999).
wdUndefined
als mögliche gültigen Wert hier. Wo wird die Grenze erscheinen: Sektionen (n) Borders.EnableFirstPage und EnableOtherPages..
Drehen grenzt
Wir können steuern, welche Grenzen innerhalb eines Abschnitts durch Verwendung angezeigt.EnableFirstPage
und / oder .EnableOtherPages
. Aber wir sind nicht völlig unter Kontrolle. Wenn Sie zum Beispiel,
ActiveDocument.Sections (1). Borders.Enable = True
dann Word wird dafür sorgen, dass entweder .EnableFirstPage
oder .EnableOtherPages
ist True
. Zum Beispiel: -
.EnableFirstPage
wurde zuvor aufFalse
. - Ihr Code setzt
.EnableOtherPages = False
. - Word gesetzt
.EnableFirstPage
zumTrue
.
ActiveDocument.Sections(1).Borders.Enable
True ist, dann Word wird nicht zulassen, sowohl .EnableFirstPage
und .EnableOtherPages
falsch zu sein. Es ist jedoch, OK, haben sie beide wahr. Drehen Grenzen off
.EnableFirstPage
und .EnableOtherPages
sind nützlich für die Ansicht Grenzen, aber nicht sinnvoll, für nicht angezeigt Grenzen. Deshalb, wenn wir nicht wollen, Grenzen, müssen wir wiederum jeweils off auf der Ebene des Individuums Grenze.
Und wir können, dass in einem von zwei Wegen tun: indem Sie die
.Visible
Eigentum der Grenze, oder Einstellung der Grenze der .LineStyle
zur wdLineStyleNone
. Zum Beispiel, in VBA, können Sie deaktivieren den oberen Rand des Abschnitts 2 mit:
ActiveDocument.Sections(2).Borders(wdBorderTop).Visible = False
, oder ActiveDocument. Sections(2).Borders(wdBorderTop).LineStyle = wdLineStyleNone
Es spielt keine Rolle welche dieser unser Code tut. Word tun, das andere. Das heißt, wenn wir eingestellt
.Visible
auf False, dann wird Word ändern .LineStyle
unübertroffen. Und umgekehrt. Zusammenfassung von dem, was Grenzen Sie sehen
Diese Tabelle zeigt, welchen Abschnitt Grenzen Sie für verschiedene Einstellungen sieheSections( n ).Enable
, .EnablePage1
, .EnableOtherPages
und individuellen Grenzen " .LineStyle
. . Aktivieren | . EnablePage1 | . EnableOtherPages | . LineStyle | Siehe p1? | Siehe auf anderen Seiten? |
---|---|---|---|---|---|
Falsch | Wahr oder Falsch | Wahr oder Falsch | Jeder | Nicht | Nicht |
Wahr | Wahr oder Falsch | Wahr oder Falsch | wdLineStyleNone | Nicht | Nicht |
Wahr | Wahr | Falsch | Alles außer wdLineStyleNone | Ja | Nicht |
Wahr | Falsch | Wahr | Alles außer wdLineStyleNone | Nicht | Ja |
Wahr | Wahr | Wahr | Alles außer wdLineStyleNone | Ja | Ja |
Steuerung einzelner Grenzen
Sie können die Linienart, Linienbreite und Farbe für jede Grenze individuell einstellen, wie dies unter Border Grundlagen für Entwickler .Es gibt jedoch einige Kuriositäten.
Gemäß der Dokumentation, eine Grenze
.LineWidth
kann entweder wdUndefined
(9999999) oder einer der wdLineWidth
Konstanten. Aber: - In Word 2003, einen Abschnitt der Standard Grenze
.LineWidth
entspricht -2098703536. Diese Zahl ist nicht gültig, nach der Dokumentation. Ich weiß nicht, was es bedeutet. - In Word 2007, die Standardeinstellung
.LineWidth
entspricht 7405540. Diese Zahl ist nicht gültig, nach der Dokumentation. Ich weiß nicht, was es bedeutet. - In Word 2010 ist der Standardwert 2 (das ist
wdLineWidth025pt
).
In allen Versionen von Word, dass ich eingecheckt haben, ist die Standardeinstellung für den Abschnitt Grenzen,
.Enable = False
. Also in gewisser Weise spielt es keine Rolle, was die Linienbreite ist, denn wenn .Enable = False
, können wir sehen keine Grenzen. Schritt für Schritt Anleitung zur Verwaltung Abschnitt grenzt im Code
Wenn ich irgendwelche Abschnitt grenzt im Code verwalten möchten, ist dies, was ich finde was ich tun müssen:- Schalten Sie alle Grenzen in das Dokument, indem Sie
Section(1).Borders.Enable = True
. Dies wird an den Grenzen für alle Bereiche ein. Es ist nicht beschränken sich auf Abschnitt (1). - Zyklus durch jeden Abschnitt, und:
- Stellen Sie eine oder beide
.EnableFirstPage
oder.EnableOtherPages
auf True, aber zu keinem Zeitpunkt erlauben sowohl falsch zu sein. - Zyklus durch jedes der vier Ränder im Abschnitt und:
- Setzen jedes einzelnen Rahmenlinie
.LineStyle
entwederwdLineStyleNone
oder der Linienstil Ich möchte (zBActiveDocument.Sections(2).Borders(wdBorderTop).LineStyle = wdLineStyleDot
) - Wenn (und nur wenn!)
.LineStyle
nichtwdLineStyleNone
, dann die.LineWidth
und.Color
der Grenze. Beachten Sie, dass nicht jeder. LineWidth für jeden. LineStyle ist . - Set des Abschnitts
.Borders.DistanceFrom
Immobilie zu ermitteln, ob Abstände von der Grenze werden aus dem Text oder in der Kante des Papiers gemessen. - Set des Abschnitts
.Borders.DistanceFromTop
,.DistanceFromLeft
etc Eigenschaften. - Legen Sie die anderen Eigenschaften, die nur für Abschnitt Grenzen (sind
.AlwaysInFront
,.JoinBorders
,.SurroundFooter
und.SurroundHeader
). - Kümmern Sie sich nicht setzen die
.Shadow
. Es funktioniert nicht, aber es hat nicht zu einem Fehler, entweder.
- Setzen jedes einzelnen Rahmenlinie
- Stellen Sie eine oder beide
Keine Kommentare:
Kommentar veröffentlichen