Addin compatibility between Excel 2k3 and Excel 2k7

A

Alain-79

Hi, in oder to force Excel 2007 to generate Excel 2003 files I have been
using this bundle of code inside an Addin

Workbooks(genSyncQteParam.fileName).SaveAs _
fileName:=CStr(SaveAs_path & SaveAsExcel_sourceName), _
FileFormat:=xlExcel8, _
Password:="", _
WriteResPassword:="", _
ReadOnlyRecommended:=False, _
CreateBackup:=False

but... while running this code under Excel 2k3 I receive a message "Compile
error inside one hidd"n module" ... the problem being on FileFormat:=xlExcel8

Assuming I do need this addin to stay for a while compatible between the two
Ecel versions, what can I do ?

I guess I will be facing same kind of trouble with such line code
ActiveSheet.ExportAsFixedFormat type:=xlTypePDF

Thanks for your help
Alain
 
A

Alain-79

I have found a way by myself... Three steps...

S1 - As long as compatibility will be requested I will place specific 2k7
code lines in specific modules where when needed I can remove the <<Option
Explicit>> => permits to test and debug evolutions on Excel 2003 without
receiving always the same warnings...

S2 - I have redefine xlExcel8 constant as an integer and control its value
according to the current Application.version running the code...

S3 - I avoid some specific 2k7 code lines while running under 2k3 by testing
the version...

Regards
Alain
 
D

Don Guillett

I think?? you can modify this to save as an xls file in either version.
xlNormal

ActiveWorkbook.SaveAs Filename:="C:\yourfolder\yourfilename.xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False _
, CreateBackup:=False
 
A

Alain-79

Thanks for the idea... in fact I thought I was oblige to use the xlExcel8
while in 2K7 // in fact do not remember where I found that ?

Thanks to you // will check
Alain
 
J

Jon Peltier

Don -

xlNormal is Excel 8 format in Excel 2003 and Excel 12 format in Excel
2007. The user asked for Excel 8 format in when running both versions.

Alain -

I've used a function that gives me the constant value I need:

Function xl8FileFormat() as long
If Val(Application.Version) >= 12 Then
xlFileFormat = 56 ' value of xlExcel8 constant
Else
xlFileFormat = xlNormal
End If
End Function

Do the same kind of thing for PDF.

- Jon
 

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