Paul/Paul,
 
Yep elegant and probably the simplest in the list.  I dug up my old ref file and thought I would post all five of the skinned cats that I am aware of:
	Sub ScratchMacro()
    Dim oCell As Cell
    For Each oCell In Selection.Tables(1).Range.Cells
        MsgBox fcnCellText1(oCell.Range.Text)
        MsgBox fcnCellText2(oCell.Range)
        MsgBox fcnCellText3(oCell.Range)
        MsgBox fcnCellText4(oCell.Range.Text)
        MsgBox fcnCellText5(oCell.Range)
    Next
End Sub
Function fcnCellText1(ByRef pStr As String)
    fcnCellText1 = Left(pStr, Len(pStr) - 2)
End Function
Function fcnCellText2(ByRef oRng As Range)
    oRng.MoveEnd wdCharacter, -1
    fcnCellText2 = oRng.Text
End Function
Function fcnCellText3(ByRef oRng As Range)
    oRng.End = oRng.End - 1
    fcnCellText3 = oRng.Text
End Function
Function fcnCellText4(ByRef pStr As String)
    fcnCellText4 = Replace(pStr, ChrW(13) & ChrW(7), "")
End Function
Function fcnCellText5(ByRef oRng As Range)
    'Slightly different as this also strips trailing empty paragraphs.
    oRng.MoveEndWhile Cset:=Chr(13) & Chr(7), Count:=wdBackward
    fcnCellText5 = oRng.Text
End Function