Getting the current Sentence position

Posted on 2002-07-17
Medium Priority
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 = "$"
   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.

Question by:masterofhisdomain
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +1

Expert Comment

ID: 7160726

Author Comment

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?
LVL 46

Expert Comment

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?
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 43

Expert Comment

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.

Accepted Solution

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

LVL 43

Expert Comment

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.
LVL 46

Expert Comment

ID: 7162154
Word will easily tell you what line the cursor is on, but the line number is relative to the page:

Also, there is a method that will tell you how many total lines there are in the document:

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

Expert Comment

ID: 7162161

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

Author Comment

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.

Author Comment

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.

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
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…
Suggested Courses

770 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