Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Creating An Application Event Handler

I am not very familiar with Excel Addins jet. I am trying to create an addin
with an event handler that will fire up on Application.SheetChange. I create
a class object and declared a variable withevents, then added the event
handler. Also, created a module object with two routines to instantiate and
terminate the class object. Here is where I got lost, if I instantiate the
class thru a routine on ThisWorkbook object, everything works fine. However,
if I create an addin thisWorkbook will never be active and the class object
can't be instantiated. So, my problem is: How do I instantiate this class so
the application events are fired when any workbook is opened. I need to fire
these events at all time. I don't know if this is the correct approach. All
suggestions will be greatly appreciated.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,758
Default Creating An Application Event Handler

Your addin doesn't have to be the activeworkbook for things to work.

Were you using the Workbook_open event or something else?

HLong wrote:

I am not very familiar with Excel Addins jet. I am trying to create an addin
with an event handler that will fire up on Application.SheetChange. I create
a class object and declared a variable withevents, then added the event
handler. Also, created a module object with two routines to instantiate and
terminate the class object. Here is where I got lost, if I instantiate the
class thru a routine on ThisWorkbook object, everything works fine. However,
if I create an addin thisWorkbook will never be active and the class object
can't be instantiated. So, my problem is: How do I instantiate this class so
the application events are fired when any workbook is opened. I need to fire
these events at all time. I don't know if this is the correct approach. All
suggestions will be greatly appreciated.


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Creating An Application Event Handler

Thanks Dave,
At this point I haven't created the addin yet. I have completed the workbook
and tested the event handlers. I have never used an addin. I don't know how
I could make the adding to instatiate the class thru the module when excel is
started. I know that once I create the addin from the workbook and check it
on the addin manager, it would be loaded everytime excel is started. Do you
know how to do this dave? Could you give me a hand?

"Dave Peterson" wrote:

Your addin doesn't have to be the activeworkbook for things to work.

Were you using the Workbook_open event or something else?


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,758
Default Creating An Application Event Handler

Option Explicit
Public WithEvents xlApp As Excel.Application
Private Sub Workbook_Open()
Set xlApp = Application
End Sub
Private Sub Workbook_Close()
Set xlApp = Nothing
End Sub
Private Sub xlApp_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox Sh.Name & vbLf & Target.Address
End Sub

Is a small example (all under ThisWorkbook).

Save it as an addin and it won't be visible to the user.

Put it in your XLStart and it'll load each time excel starts.

Or use Tools|addins to point to it so that it loads each time xl starts.



HLong wrote:

Thanks Dave,
At this point I haven't created the addin yet. I have completed the workbook
and tested the event handlers. I have never used an addin. I don't know how
I could make the adding to instatiate the class thru the module when excel is
started. I know that once I create the addin from the workbook and check it
on the addin manager, it would be loaded everytime excel is started. Do you
know how to do this dave? Could you give me a hand?

"Dave Peterson" wrote:

Your addin doesn't have to be the activeworkbook for things to work.

Were you using the Workbook_open event or something else?


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Event handler in a cell Man Utd Excel Programming 3 June 15th 05 07:44 AM
Global event handler?? [email protected] Excel Programming 1 October 23rd 04 05:31 PM
Application level event handler broken in 2003SP1 ? Alex T Excel Programming 3 August 29th 04 07:47 PM
where is the workbook_open event handler??? Steff_DK[_10_] Excel Programming 2 April 25th 04 02:43 PM
different IDispatch in event handler Dirk[_2_] Excel Programming 0 January 23rd 04 11:04 PM


All times are GMT +1. The time now is 05:50 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"