Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 220
Default Interfaces for VBA Forms

I have several forms that I use a lot, and want a simple, clean
interface to access/populate them. What I have done is create a class
that encapsulates the form, and provides only the properties and events
necessary for using the form. However, this was before I found out that
VBA supports interfaces. Would it make more sense to just have an
interface and implement all of the interface code in the form itself, or
continue with the approach I actually used?

If so, one question I would have, would i have to alter my code in the
form to raise the interface's events? For example, button clicks? I am
unlikely to reuse the interface for any other form or class.

Or, is there a better implementation than this?

Any help would be appreciated.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default Interfaces for VBA Forms

Hi R,

Would it make more sense to just have an
interface and implement all of the interface code in the form itself, or
continue with the approach I actually used?


Well, they both work, but I would tend to go for the interface route if you
have multiple forms that can implement the same interface.

If so, one question I would have, would i have to alter my code in the
form to raise the interface's events? For example, button clicks?


Ah. AFAIK, you can't raise an event on an interface from within a class
that implements the interface, so if you want to raise events, you'd be
better to stick with the wrapper class approach you started with.


Regards

Stephen Bullen
Microsoft MVP - Excel
www.BMSLtd.ie


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 220
Default Interfaces for VBA Forms

Thanks. But what you said led me to another question.

Ah. AFAIK, you can't raise an event on an interface from within a class
that implements the interface, so if you want to raise events, you'd be
better to stick with the wrapper class approach you started with.


Interfaces support event, correct? So if a class cannot raise an event
for the interface that it implements, how do the interface events get
raised?
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default Interfaces for VBA Forms

Hi R,

Interfaces support event, correct?


No, in VBA6 we can only raise events declared in a class's default
interface - we can't raise events declared in an Implemented interface.

So if a class cannot raise an event
for the interface that it implements, how do the interface events get
raised?


They don't!

That said, if you're willing to hack around the binaries, Matt Curland has
explained how it can be done:
http://groups.google.com/groups?selm...%40tkmsftngp12

Regards

Stephen Bullen
Microsoft MVP - Excel
www.BMSLtd.ie


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 220
Default Interfaces for VBA Forms

Interesting... I did not know any of this. Thanks a lot.


Stephen Bullen wrote:

Hi R,


Interfaces support event, correct?



No, in VBA6 we can only raise events declared in a class's default
interface - we can't raise events declared in an Implemented interface.


So if a class cannot raise an event
for the interface that it implements, how do the interface events get
raised?



They don't!

That said, if you're willing to hack around the binaries, Matt Curland has
explained how it can be done:
http://groups.google.com/groups?selm...%40tkmsftngp12

Regards

Stephen Bullen
Microsoft MVP - Excel
www.BMSLtd.ie


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
Forms ginger New Users to Excel 0 May 27th 08 01:26 AM
Using forms Lisa[_9_] Excel Programming 0 June 7th 04 02:41 PM
Calling Forms from Forms - Exit problems Stuart[_5_] Excel Programming 3 May 25th 04 06:50 AM
Forms Box Craig[_8_] Excel Programming 1 January 30th 04 06:06 PM
Using Excel Interfaces R. L. Alan Jordan Excel Programming 4 July 28th 03 06:42 AM


All times are GMT +1. The time now is 11:11 AM.

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

About Us

"It's about Microsoft Excel"