Solved

Getting the current Sentence position

Posted on 2002-07-17
10
166 Views
Last Modified: 2010-05-02
I have the following code.

Dim wrdApp As Word.Application
Dim appWord As Word.Document

wrdApp.Selection.GoTo wdGoToLine, wdGoToFirst  

and i open appWord with the wrdapp.open

With wrdapp.Selection.Find
    .Forward = True
    .Wrap = wdFindStop
    .Text = "$"
    .Execute
   End With

When it finds the occurance of the $, i need to findout what line number it is on, how can i do that?

appword.Sentences(10) is line 10 (the line number i want)
but i can't find anything that will return to me that current position or line number.

Thanks.
masterofhisdomain
0
Comment
Question by:masterofhisdomain
  • 3
  • 3
  • 2
  • +1
10 Comments
 
LVL 2

Expert Comment

by:damion69
ID: 7160726
0
 

Author Comment

by:masterofhisdomain
ID: 7160815
Unfortunately, that is only for controls, the API has to have a handle in order to find the position based of the cursor position, which is not going to work in my case.

This application i am building has no forms or controls.

I have opened the word document, and have found the character i am looking for, now i just need what line number it is on.

Thanks tho, it will bue useful in the future.

Any other ideas?
0
 
LVL 45

Expert Comment

by:aikimark
ID: 7161270
What do you mean by line number?

Do you need the postition relative to the page or the start of the document/story?
0
 
LVL 43

Expert Comment

by:TimCottee
ID: 7161607
masterofthisdomain, I am more than happy to be proved wrong in the following statement but as far as I am aware there is no method within Word to access the Line/Column position of a character. The information that is displayed within the status bar has to be calculated somehow but this is not apparently available to mere mortals using the application.
0
 
LVL 2

Accepted Solution

by:
damion69 earned 50 total points
ID: 7162069
Ok... Here is another piece of code that does that...

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=441&lngWId=1
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 43

Expert Comment

by:TimCottee
ID: 7162095
well damion69, not quite. This code simply retrieves the number of lines in total in a document using an antiquated and non-recommended method so it unfortunately not going to help in this situation.
0
 
LVL 45

Expert Comment

by:aikimark
ID: 7162154
Word will easily tell you what line the cursor is on, but the line number is relative to the page:
selection.Information(wdFirstCharacterLineNumber)

Also, there is a method that will tell you how many total lines there are in the document:
activedocument.ComputeStatistics(wdStatisticLines)

I haven't found a method or property that will tell you the line number relative to the start of the story or document.
0
 
LVL 45

Expert Comment

by:aikimark
ID: 7162161
masterofhisdomain,

What are you trying to do that you need this line number data?
0
 

Author Comment

by:masterofhisdomain
ID: 7162226
This is what i was looking for, it led to the answer.  Version 6 uses a different way of doing it.

I ended up adding this to get the current line

Dim Rc as integer

Rc = wrdApp.Selection.Information(wdFirstCharacterLineNumber) - 1

Using the Word objects, when i saw you could do appword.sentences(13) to get line 13 , i knew there had to be a way to get to the current sentence when coming back from a find.  Thank You.
0
 

Author Comment

by:masterofhisdomain
ID: 7162244
Thanks aikimark for your answer, i did not refresh after getting damion69s answer, but after scanning the help file with his answer, found the Info method, and had tried it before, but either missed the line number one or discounted it from being what i was looking for.

I need the line number, because from the first find on, i will be accessing each sentence seperately to do check to see if the line gets added to an array or that sentence sent to a file.

Thanks for all your help.
Masterofhisdomain
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now