![]() |
|
|
|
#1
|
|||
|
|||
|
hello, i have an this sub that initializes a Class event that runs code on any change of the selection. I wanted to assign a Macro button to "turn off" the event.
Whats the proper VBA to 'de-initialize' the event? thanks Code:
Sub LoadMonitor()
Set selMonitor = New Class1
MsgBox "Selection Change On"
End Sub
'stored in Class Module
Option Explicit
Private WithEvents mWordApp As Word.Application
Private Sub Class_Initialize()
Set mWordApp = Word.Application
End Sub
Private Sub mWordApp_WindowSelectionChange(ByVal Sel As Selection)
'code here for selection change
|
|
#2
|
||||
|
||||
|
There is no facility to do that. Either put your event code into a template that applies only to documents based on that template - so it doesn't affect documents based on other templates - or add some error trapping to ensure the event exits unless the document or selection conforms to certain specifications.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
Thanks Paul, I Initialize this Selection event with a macro button, and based on what I select the code provides me various options to execute on certain sentences. The issue isnt about not having it run in other docs, because I can control when it is turned on. The issue is once it is turn on
Code:
Private Sub mWordApp_WindowSelectionChange(ByVal Sel As Selection) Right now i have to go into VBE and press the stop button on the debugger. I would like to add another button in my toolbar which I was hoping would "unload" or "terminate" the selection Event. Am i stuck with going into VBE to turn this Event WindowSelectionChange manually off everytime i dont want it effecting my selection? thanks again |
|
#4
|
||||
|
||||
|
OK, but you could have some additional code to conditionally enable/disable the WindowSelectionChange event. For example, in your normal code module:
Code:
Public bMon As Boolean
Sub LoadMonitor()
Set selMonitor = New Class1
Call EnableMonitor
End Sub
Sub EnableMonitor()
bMon = True
MsgBox "Selection Change On"
End Sub
Sub DisableLoadMonitor()
bMon = False
MsgBox "Selection Change Off"
End Sub
Then all you need do is add a single line to the WindowSelectionChange sub: Code:
Private Sub mWordApp_WindowSelectionChange(ByVal Sel As Selection) If bMon = False Then Exit Sub 'code here for selection change
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
I would like a function to add sequential numbers to a class number/name
|
Highlander01 | Excel | 5 | 01-22-2016 02:29 PM |
| Is it possible to bind macros to keys not in the KeyCodeConstants class? | AlexR | Word VBA | 4 | 04-08-2013 10:15 AM |
| Evernote--Class Notes | markg2 | Outlook | 0 | 05-10-2012 05:50 PM |
| Looking for easy and quick way to draw on class notes "x-rays - image" | Lacrosseboss18 | PowerPoint | 0 | 02-04-2011 01:21 PM |
| Want to search for "class", replacing with document property | YetAnotherAuthor | Word | 0 | 10-30-2009 09:43 AM |