How to use the mouse move event in cells to read the comments in the cells

I have an Image control in my my excel worksheet.
I load pictures into the image ActiveX in the worksheet and add comments to a array of cells A4:D5.
Whenever the workbook is closed and opened the last picture loaded in the image control and the previous riddles (comments) appear, but i don't want it to be so.

When the worksheet is opened the riddles must appear only after the start button is pressed (The previous comments must be cleared when the worksheet is opened)

and

the pictures must load only after the user enters the answer and clicks the submit button.


I have been trying to work on  a mouse move even that will read the comments when the user moves the mouse over the cell to reveal the comment.

below is what i put down but i don't know how to connect it with the comments for them to be read.


Private Sub Cells_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)


Application.Speech.Speak "" & Selection.Comment.Text & "", True


End Sub

Open in new window

joseph narh padiAsked:
Who is Participating?
 
Martin LissConnect With a Mentor Older than dirtCommented:
Change line 4 above to

Application.Speech.Speak ActiveCell.Comment.Text, True, , True

Here is a link to the Speech method.
0
 
Martin LissOlder than dirtCommented:
Can you attach your workbook, or a sample workbook?
0
 
joseph narh padiAuthor Commented:
Here is the file attached.
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
Martin LissOlder than dirtCommented:
You forgot to attach the file.
0
 
joseph narh padiAuthor Commented:
0
 
Martin LissOlder than dirtCommented:
What object is the Cells_MouseMove attached to?
0
 
Martin LissOlder than dirtCommented:
There is no MouseMove event for cells on a sheet but you can add this to the sheet's code.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Speech.Speak ActiveCell.Comment.Text & "", True
End Sub

Open in new window

0
 
joseph narh padiAuthor Commented:
It is how to attach that mouse move to the cell that i do not know
0
 
joseph narh padiAuthor Commented:
I added but it hasn't read it
0
 
Martin LissOlder than dirtCommented:
It is how to attach that mouse move to the cell that i do not know
That's not possible. There is no way to respond to a mouse move anyplace on a worksheet.
I added but it hasn't read it
Click any cell that has a comment in the attached workbook
28980423.xlsm
0
 
joseph narh padiAuthor Commented:
Thanks very much.
When i opened the workbook and clicked the cells, it read very well, but when i tried restarting the riddle, I had an error.
It reads

Object variable Or With block variable not set
The statement
Application.Speech.Speak ActiveCell.Comment.Text & "", True

Open in new window

is highlighted
0
 
joseph narh padiAuthor Commented:
Would you please look at the other issues for me?

I have an Image control in my my excel worksheet.
I load pictures into the image ActiveX in the worksheet and add comments to a array of cells A4:D5.
Whenever the workbook is closed and opened the last picture loaded in the image control and the previous riddles (comments) appear, but i don't want it to be so.

When the worksheet is opened the riddles must appear only after the start button is pressed (The previous comments must be cleared when the worksheet is opened)

and

the pictures must load only after the user enters the answer and clicks the submit button.
0
 
Martin LissOlder than dirtCommented:
To correct the error, change
Application.Speech.Speak ActiveCell.Comment.Text & "", True

Open in new window

to
Dim c As Comment
Set c = ActiveCell.Comment 
If Not c Is Nothing Then
    Application.Speech.Speak ActiveCell.Comment.Text & "", True
End If

Open in new window


For the other issues, please close this question and ask a new one. Thanks.
1
 
joseph narh padiAuthor Commented:
Thanks. I'll give you feedback
0
 
joseph narh padiAuthor Commented:
Very good, It's working well, but we need to find a way of stopping the reading of one cell as soon as another cell is selected.
What happens is that when the programme assigns the comments to the cells, it highlights each cell in turn.
The programme also reads all the comments assigned one after the other long after they have been assigned.
If the first one will be stopped when the second cell is selected,  then only the comments in the last cell will be read.
The user will be spared the long waiting for all the comments to be read.
Thanks very much for your support.
0
 
joseph narh padiAuthor Commented:
WOW!!!!!!!!!!!!!!!!!! It works very well!!!!!!!!!!!!
Thanks very much. God bless you.
0
 
Martin LissOlder than dirtCommented:
You're welcome and I'm glad I was able to help.

If you expand the “Full Biography” section of my profile you'll find links to some articles I've written that may interest you.

Marty - Microsoft MVP 2009 to 2016
              Experts Exchange MVE 2015
              Experts Exchange Top Expert Visual Basic Classic 2012 to 2015
0
 
joseph narh padiAuthor Commented:
I wrote

Application.Speech.Speak ActiveCell.Comment.Text "", True, False, True

Open in new window

0
 
Martin LissOlder than dirtCommented:
What does the " " do for you?
0
 
joseph narh padiAuthor Commented:
I've omitted something in it.
It is actually
Application.Speech.Speak ActiveCell.Comment.Text & "", True, False, True

Open in new window


When I first wrote the method

Application.Speech.Speak ActiveCell.Comment.Text, True 

Open in new window


it was not recognised and was giving an error (highlighted red)  until i added the  (& "")
0
 
Martin LissOlder than dirtCommented:
I don't understand but all that adding the " " does is to add a space at the end of the comment and since we are talking about speech, I don't think you need it.
0
 
joseph narh padiAuthor Commented:
thanks.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.