swap811
asked on
Trapping a mouseclick and mousemove event in VB
hi guys,
I want to identify column width change of a table in a macro .
for that I want to trap a mouse click event on document without adding any content control.
Also further i need to trap a mouse move event so please help me on that also.
If u know some better approach for this please do let me know.Thanks a lot in advance
I want to identify column width change of a table in a macro .
for that I want to trap a mouse click event on document without adding any content control.
Also further i need to trap a mouse move event so please help me on that also.
If u know some better approach for this please do let me know.Thanks a lot in advance
ASKER
Sorry I am not getting how to use it.Can u please explain me in detail or if possible do send me some sample code .
ASKER
This is what I have done .wordapp is declared global.please tell me how to link with the document as it is not working currently.
Dim WithEvents wdApp As Word.Application
Dim x As New Class1
Private Sub Class_Initialize()
Set wdApp = Word.Application
Set ThisDocument = ActiveDocument
MsgBox "testing1"
End Sub
Private Sub wdApp_DocumentOpen(ByVal Doc As Document)
Set wdApp = Word.Application
End Sub
Private Sub wdApp_NewDocument(ByVal Doc As Document)
MsgBox "testing"
End Sub
Private Sub wdApp_Quit()
End Sub
Private Sub wdApp_WindowBeforeDoubleCl ick(ByVal Sel As Selection, Cancel As Boolean)
MsgBox "testing"
End Sub
Private Sub wdApp_WindowSelectionChang e(ByVal Sel As Selection)
MsgBox "testing"
End Sub
Dim WithEvents wdApp As Word.Application
Dim x As New Class1
Private Sub Class_Initialize()
Set wdApp = Word.Application
Set ThisDocument = ActiveDocument
MsgBox "testing1"
End Sub
Private Sub wdApp_DocumentOpen(ByVal Doc As Document)
Set wdApp = Word.Application
End Sub
Private Sub wdApp_NewDocument(ByVal Doc As Document)
MsgBox "testing"
End Sub
Private Sub wdApp_Quit()
End Sub
Private Sub wdApp_WindowBeforeDoubleCl
MsgBox "testing"
End Sub
Private Sub wdApp_WindowSelectionChang
MsgBox "testing"
End Sub
I have tweaked your code a tiny bit.
'Put this code in a module and run it.
Sub Register_Event_Handler()
Dim X As New Class1
Set X.wdApp = Application
MsgBox "wdApp events registered in: " & X.wdApp.Name
End Sub
'This is the code for the class module
Option Explicit
Public WithEvents wdApp As Word.Application
Private Sub wdApp_NewDocument(ByVal Doc As Document)
MsgBox "testing"
End Sub
Private Sub wdApp_WindowBeforeDoubleClick(ByVal Sel As Selection, Cancel As Boolean)
MsgBox "testing"
End Sub
Private Sub wdApp_WindowSelectionChange(ByVal Sel As Selection)
MsgBox "testing"
End Sub
ASKER
it is giving error in module's code with the following line
Set X.wdApp = Application
It is saying that wdApp member not found.I have added the module's code in newly created module.
Do u have any other better approach to the problem.please do let me know.
Set X.wdApp = Application
It is saying that wdApp member not found.I have added the module's code in newly created module.
Do u have any other better approach to the problem.please do let me know.
ASKER
oh I had made 1 mistake. Now it is working.thanks a lot.Now my requirement is that when i open a word my macro should automatically start.please solve this problem also.Thanks again in advance
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
the windows events r not working still and that is what i need.what must I do for that.please do let me know
You will need a declaration such as this in the module:
Dim WithEvents wdApp As Word.Application
and you need to have set wdApp equal to the current Application during the session.
Set wdApp = Application