Compile directive for 2000 to ignore 2003 commands

R

Roy

How Can I tell Excel 2000 to ignore VBA command that are not implemented in
2000, but in later version?

"#If VB6 Then" is 'TRUE' for 2000, 2002 and 2003, so I cannot use it. I want
to use the .mask feature on a command button in 2002 and 2003, but I want the
same code to compile under 2000 and ignore the .mask line.

With MenuItem
.Caption = "My Button"
.Mask = frmIcons.Image1.Picture
End With

Also 'Application.Version' doesn't work as a compiler directive.
I need a way for a # compiler command to distinguish between 2000 , 2002 and
Excel 2003.
 
R

Rob Bovey

Roy said:
How Can I tell Excel 2000 to ignore VBA command that are not implemented
in
2000, but in later version?

"#If VB6 Then" is 'TRUE' for 2000, 2002 and 2003, so I cannot use it. I
want
to use the .mask feature on a command button in 2002 and 2003, but I want
the
same code to compile under 2000 and ignore the .mask line.

With MenuItem
.Caption = "My Button"
.Mask = frmIcons.Image1.Picture
End With

Also 'Application.Version' doesn't work as a compiler directive.
I need a way for a # compiler command to distinguish between 2000 , 2002
and
Excel 2003.

Hi Roy,

There is no compiler variable that distinguishes among different
versions of Excel. What you'd need to do in this case is use late binding by
declaring MenuItem As Object and then use an Application.Version check to
determine which code to actually execute at run-time:

Dim MenuItem As Object

' Set the MenuItem variable here

MenuItem.Caption = "My Button"
If Val(Application.Version) > 9 Then
MenuItem.Mask = frmIcons.Image1.Picture
End If

--
Rob Bovey, Excel MVP
Application Professionals
http://www.appspro.com/

* Take your Excel development skills to the next level.
* Professional Excel Development
http://www.appspro.com/Books/Books.htm
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top