Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 236
  • Last Modified:

Need to get a word (what user clicks on) from IE into my VB program

I have been looking some sample code, found this very promising one, it traps mouse up events etc:
http://www.freevbcode.com/ShowCode.Asp?ID=1606

I need to get a word which user clicks in IE window into my program; a double click on word selects text, so it can be also this.
It seems that sendmessage API does not give text here or I did something wrong.

I have been thinking this for a while so it's difficult.

Matti
0
Matti
Asked:
Matti
  • 2
1 Solution
 
ArkCommented:
Hi
Assuming you're using my sample from above link:

Add following function to Form code:

Private Function GetWordFromClick(doc) As String
    Dim evt, range
    Set evt = doc.parentWindow.event
    Set range = doc.body.createTextRange
    range.moveToPoint evt.clientX, evt.clientY
    range.Expand "word"
    GetWordFromClick = range.Text
End Function

' Now just call it from mouseover/mousedown/mouseup events:


Private Sub IEWin_IEMouseDown(hwnd As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
   '....
   Debug.Print GetWordFromClick(IEWin.IE(CStr(hwnd)).IEctl.document)
End Sub

'Note - this code works with IE5 and higher
0
 
ArkCommented:
PS: To get Selection:

Private Function GetSelectedWord(doc) As String
    GetSelectedWord = doc.selection.createRange.Text
End Function
0
 
MattiAuthor Commented:
Hi!

Thanks! it's great code!

Matti
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

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

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now