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

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