Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 504
Default Avoiding Compile Error for Unsupported Methods

I have written some VBA code in an Excel 2003 workbook that also needs to be
accessible in Excel 2007, so the file format is 2003 (xls). Whenever I open
it in Compatibility Mode in 2007 and then try to save it the Compatibility
Checker pops up with warnings that I know will not cause problems for me. So,
I added the following line of code to suppress the Compatibility Checker:

ThisWorkbook.CheckCompatibility = False

This works great in Excel 2007, but I get a compile error when I open it in
2003 because the CheckCompatibility method is not supported in 2003.

My question is: Is there a way to somehow insulate this line of code so that
it is only compiled when the file is opened in 2007? Some sort of compiler
directive that conditionally compiles it based on the version? Or any other
ideas? :-)

Thanks in advance for your help!

Kevin
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 504
Default Avoiding Compile Error for Unsupported Methods

I figured it out and used the #Const directive a compiler constant that I
then used in a #If - Then -#Else loop to run the line of code only if it was
running in Excel 2007. For anyone else who may benefit from this, here's the
code:

If Application.Version = "12.0" Then
boolExcelVersion12 = True
Else
boolExcelVersion12 = False
End If

#Const constboolExcelVersion12 = boolExcelVersion12

#If constboolExcelVersion12 Then
ThisWorkbook.CheckCompatibility = False
#End If

Kevin

====================

"Kevin" wrote:

I have written some VBA code in an Excel 2003 workbook that also needs to be
accessible in Excel 2007, so the file format is 2003 (xls). Whenever I open
it in Compatibility Mode in 2007 and then try to save it the Compatibility
Checker pops up with warnings that I know will not cause problems for me. So,
I added the following line of code to suppress the Compatibility Checker:

ThisWorkbook.CheckCompatibility = False

This works great in Excel 2007, but I get a compile error when I open it in
2003 because the CheckCompatibility method is not supported in 2003.

My question is: Is there a way to somehow insulate this line of code so that
it is only compiled when the file is opened in 2007? Some sort of compiler
directive that conditionally compiles it based on the version? Or any other
ideas? :-)

Thanks in advance for your help!

Kevin

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,718
Default Avoiding Compile Error for Unsupported Methods

Put that line in its own sub and call it only if Val(Application.Version)=
12.

--
Jim
"Kevin" wrote in message
...
|I have written some VBA code in an Excel 2003 workbook that also needs to
be
| accessible in Excel 2007, so the file format is 2003 (xls). Whenever I
open
| it in Compatibility Mode in 2007 and then try to save it the Compatibility
| Checker pops up with warnings that I know will not cause problems for me.
So,
| I added the following line of code to suppress the Compatibility Checker:
|
| ThisWorkbook.CheckCompatibility = False
|
| This works great in Excel 2007, but I get a compile error when I open it
in
| 2003 because the CheckCompatibility method is not supported in 2003.
|
| My question is: Is there a way to somehow insulate this line of code so
that
| it is only compiled when the file is opened in 2007? Some sort of compiler
| directive that conditionally compiles it based on the version? Or any
other
| ideas? :-)
|
| Thanks in advance for your help!
|
| Kevin

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
Avoiding hyperlink error ABalusu Excel Programming 0 October 18th 07 05:08 PM
VBAProject name compile error, not defined at compile time Matthew Dodds Excel Programming 1 December 13th 05 07:17 PM
Avoiding the dreaded #div/0 error Marie1uk Excel Worksheet Functions 10 July 21st 05 10:49 PM
Unsupported methods for XL macro in IE Jean-Yves[_2_] Excel Programming 0 August 20th 04 03:34 PM
Escape On Error methods in Subs Esteban404 Excel Programming 4 July 15th 04 10:16 PM


All times are GMT +1. The time now is 12:16 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"