Text in Word zweispaltig formatieren

Hallo zusammen,

kann mir jemand einen Tipp geben? Ich möchte über das COM Object von Word einen Teil meines Dokuments (auch nur einen Teil der Seite) zweispaltig darstellen. Dazu wollte ich das Objekt PageSetup des Section-Elements anpassen.
Ich bin so vorgegangen: Habe ein Range-Object erstellt (an einem InsertionPoint ), habe meinen Text eingegeben, die Range über die Methode Expand erweitert und anschließend aus dieser Range die Sections geholt. Dann eine neue Section addiert mit dem Parameter wdSectionContinuous (ich will sie ja innerhalb der bisherigen Seite einbetten). Dort habe ich über PageSetup die TextColumns geholt und eine neue addiert. Die Breiten beider TextColumns auf die Hälfte der alten Breite gesetzt - und nix passiert.... :mad:

Ich gebe zu, so ganz ist mit der Zusammenhang zwischen Selection, Range und Section nicht klar (wer enthält wen). Habe ich da also was grundlegendes falsch gemacht?

Da ich versucht habe, mir in Word ein Makro aufzuzeichnen, wobei ich es dort immer nur für eine ganze Seite anpassen konnte, frage ich mich, ob es berhaupt geht für einen Teilbereich?

Wäre toll, wenn mir jemand einen Tipp geben könnte.

Gruß Kerstin
 
Okidoki, habs doch rausgefunden!

Einen Zwischenteil zu formatieren funktioniert nur mit dem Selectio-Objekt. Ausserdem muss man diese Breaks mit wdSectionBreakContinuous setzen. Hier der Code:

Code:
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type <> wdPrintView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
        InsertBreak Type:=wdSectionBreakContinuous
    Selection.Start = Selection.Start + 1
    ActiveDocument.Range(Start:=Selection.End, End:=Selection.End).InsertBreak _
         Type:=wdSectionBreakContinuous
    With Selection.PageSetup.TextColumns
        .SetCount NumColumns:=2
        .EvenlySpaced = True
        .LineBetween = False
        .Width = CentimetersToPoints(7.38)
        .Spacing = CentimetersToPoints(1.25)
    End With

Gruß
Kerstin
 
Zurück