View Single Post
  #4   Report Post  
Posted to microsoft.public.word.tables,microsoft.public.word.vba.general
Jezebel
 
Posts: n/a
Default How many lines used in a table cell?

There might be a rigorous and elegant way to do it using something along the
lines of

activedocument.ActiveWindow.Panes(x).Pages(y).Rect angles(z).Lines(t).Rectangles.Count

But I have not the faintest idea how this bit of the object model is
supposed to work.





"Jay Freedman" wrote in message
...
Another way is to put the Selection at the beginning of the cell and
count how many times you can repeat the .MoveDown method until the
Selection either goes into the next row or drops out of the table.
Unfortunately, you have to use the Selection because the Range object
doesn't have a .MoveDown method.

Sub LinesInCell()
Dim nLines As Long, nCurrRow As Long
Dim rgSaveSel As Range
Set rgSaveSel = Selection.Range

If Not Selection.Information(wdWithInTable) Then
MsgBox "Not in a table"
Exit Sub
End If

With Selection
.Cells(1).Select
.Collapse wdCollapseStart
nCurrRow = .Information(wdEndOfRangeRowNumber)
nLines = 0

Do
nLines = nLines + 1
.MoveDown unit:=wdLine, Count:=1, Extend:=False
If Not .Information(wdWithInTable) Then Exit Do
Loop Until .Information(wdEndOfRangeRowNumber) nCurrRow
End With

MsgBox nLines & " line(s)"
rgSaveSel.Select
End Sub

--
Regards,
Jay Freedman
Microsoft Word MVP FAQ: http://word.mvps.org
Email cannot be acknowledged; please post all follow-ups to the
newsgroup so all may benefit.

On Fri, 3 Feb 2006 09:34:37 +1100, "Jezebel"
wrote:

Not simple, no. One method is to iterate the characters of the text, and
check .Information(wdVerticalPositionRelativeToPage) for each: the number
of
different values you get is the number of lines.


"Ed" wrote in message
...
Is there a simple way to tell from VBA code how many lines of text are
in
a
table cell?

Ed