It seems that setting the CurrentParagraph property actually sets the current line, not paragraph, when applied to a note with word wrap.
Simple code to demonstrate:
Dim swApp As Object Dim swModel As Object Dim swSelMgr As SldWorks.SelectionMgr Dim swAnnObj As Object Dim swAnn As SldWorks.Annotation Dim swParagraphs As SldWorks.Paragraphs Dim nParagraphs As Long Dim iParagraphs As Long Dim bRet As Boolean Dim sRet As String Sub main() Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swSelMgr = swModel.SelectionManager Set swAnnObj = swSelMgr.GetSelectedObject6(1, -1) Set swAnn = swAnnObj.GetAnnotation Set swParagraphs = swAnn.GetParagraphs nParagraphs = swParagraphs.Count For iParagraphs = 0 To nParagraphs - 1 swParagraphs.CurrentParagraph = iParagraphs sRet = swParagraphs.GetText(True) bRet = swParagraphs.SetBulletsAndNumbering(1, 0, 1, 1, 1) bRet = swParagraphs.UpdateParagraph() Next End Sub
This will number each line in a selected note. If you stretch the width of the note so there is no word wrapping this snippet will work fine. If you narrow the width of the note so that lines begin to wrap this macro behaves incorrectly.
It looks like Count counts the true number of paragraphs while CurrentParagraph sets the line number. However, if you try to manually set the line number greater than the total number of paragraphs, that does not work either.
Am I correct in concluding this API property is broken or am I missing something here?