Dingo
Dingo

Reputation: 123

Count number of rows of text in a Visio Shape

Is there a way to count number of rows of texts inside a Visio shape? Such as linecount?

I've tried Rowcount on a Visio shape and it didn't return anything reflecting the text lines inside the Visio Shape! Below is that sample code I created

Sub something()
 Dim intRows
 Dim vsoShape As Visio.Shape
 Set vsoShape = ActiveWindow.Selection.PrimaryItem
 intRows = vsoShape.RowCount(Visio.visSectionProp)
 MsgBox intRows
End Sub

Upvotes: 1

Views: 646

Answers (1)

Jon Fournier
Jon Fournier

Reputation: 4327

There is no built-in way to count the number of lines of text, that I'm aware of.

The RowCount is for counting the number of rows in a particular shapesheet section.

You can call the BoundingBox method on a shape and get back the height and width of the text area for the shape, but you'd have to guess at how many lines that is, maybe as a function of the font size.

If you are able to enforce a standard font and character size on shapes in the diagrams you're working with, you should be able to tell how many lines there are based on the height of the text box.

I'm assuming you're asking after the number of line wraps that Visio has done, not the number of line breaks in the text.

Upvotes: 2

Related Questions