Yes indeed, the Words object does count paragraph marks, and other things.
Say a document with the following text (to keep it simple).
This is some text. <p>
So "This is some text." terminated by a paragraph mark.
File > Properties > Statistics Words = 4
Tools > Word Count = 4
Set a Range object:
Set r = ActiveDocument.Range
Using the SAME range object:
r.Words.Count = 6
r.ComputeStatistics(wdStatisticWords) = 4
The Words count returns 6 because the "words" are:
1. This
2. is
3. some
4. text
5. .
6. paragraph mark
The period is counted as a "word", as is the paragraph mark.
The reason? The tools such as File > Properties >Stats; Tools > Word Count;
and the VBA method ComputeStatistics all use internally defined delimiters.
"Words" does not.
There is a similar divergence regarding paragraphs themselves.
Make a brand new document. Insert a 3 x 3 table . Nothing more. Do NOT put
any text in the table. Make a Range object.
Set r = ActiveDocument.Range
You can also use Set r = ActiveDocument.Tables(1).Range. It does not matter.
r.ComputeStatistics(wdStatisticParagraphs) = 0
File > Properties > Statistics Paragraphs = 0
Tools > Word Count Paragraphs = 0
ActiveDocument.Paragraphs.Count = 13
13? The table is 3 x 3, which is 9 cells. Why 13?
Because:
Row1 = 3 cells PLUS End-Of-Row marker....4 paragraphs
Row2 = 3 cells PLUS End-Of-Row marker....4 paragraphs
Row3 = 3 cells PLUS End-Of-Row marker....4 paragraphs
Plus the (always) document terminating paragraph mark. Total = 13 paragraphs.
Now, put some text - This is some text - in Cell (1,1). Do NOT hit the Enter
key.
r.ComputeStatistics(wdStatisticParagraphs) = 1
File > Properties > Statistics Paragraphs = 1
Tools > Word Count Paragraphs = 1
ActiveDocument.Paragraphs.Count = 13
One should take great care when using any COUNT of words or paragraphs. In
particualr, if tables are involved, using a paragraph count has to be well
considered.