Feststellen, dass letzte Tabellenzeile auf Seit

25/09/2009 - 11:15 von pike | Report spam
Hallo,

weiss vielleicht jemand einen Weg, festzustellen, ob die Tabellenzeile, in
der sich der Cursor befindet, die letzte Zeile der Tabelle ist, bevor auf die
nàchste Seite umgebrochen wird.

Ich überprüfe zwar, ob der Cursor sich in einer Zelle befindet (weil WORD da
bei der Makroausführung bei größerer Anzahl von Zeilen offensichtlich ein
Problem hat -auch schon in der Vorversion) und wenn ja, springe ich eine
Zeile nach unten und füge ein CR ein bevor ich eine neue Tabellenzeile
erzeuge. Nur funktioniert das nicht, wenn die Tabellenzeile die unterste auf
der Seite ist. Dann stellt das Makro zwar richtig fest, dass der Cursor sich
fàlschlicheweise in einer Zelle befindet, kann aber offensichtlich nicht eine
Zeile nach unten springen (weil das auf die nàchste Seite wàre) und erzeugt
in der Zelle den CR.

Ich wàre für eine Anregung sehr dankbar, wie man diesen fehler umgehen könnte.

Danke im voraus
Pike
 

Lesen sie die antworten

#1 Christian Freßdorf
25/09/2009 - 11:55 | Warnen spam
Hi

ja, Word (hier Word2000) hat da gewisse Probleme.

Du kannst es folgendermaßen umgehen:

Sub IsLastRowOnPage()
If Selection.Information(wdWithInTable) = False Then Exit Sub
Dim i As Integer
Dim j As Integer
Dim tbl As Table
Set tbl = Selection.Tables(1)
i = Selection.Range.Information(wdStartOfRangeRowNumber)
j = tbl.Rows(i).Next.Range.Information(wdStartOfRangeRowNumber)
If tbl.Rows(j).Range.Information(wdHorizontalPositionRelativeToPage) < tbl.Rows(i).Range.Information(wdHorizontalPositionRelativeToPage) Then
MsgBox "letzte Reihe auf der Seite"
End If
End Sub


Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)

Ähnliche fragen