View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Keith G Hicks Keith G Hicks is offline
external usenet poster
 
Posts: 9
Default save as version 2003 problem

That's where I got some of the code I'm using but it only works if you are
running it in 2007/2010. If you try to do this:

objExcelBk.SaveAs sTempPath & sExcelFileName, 56

in Access 2003 vba, it doesn't run because "56" is not a valid version # as
far as vba 2003 is concerned.


"Ron de Bruin" wrote in message
...
See
http://www.rondebruin.nl/saveas.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm



"Keith G Hicks" wrote in message
...
I think this will solve the problem. Any feedback?

Dim lCurrXlVersion As Long
lCurrXlVersion = objExcelApp.Version

objExcelApp.DisplayAlerts = False
Select Case lCurrXlVersion
Case 11
objExcelBk.SaveAs sTempPath & sExcelFileName
Case 12, 14
objExcelBk.SaveAs sTempPath & sExcelFileName, 56 '56 = xl
2000/2003
Case Else
MsgBox "Error saving Excel file because you are not using
version 2003, 2007 or 2010"
End Select



"Keith G Hicks" wrote in message
...
Well to make this worse, I just learned that 2007 does not support
saving as 95/97 so I'm guessing that if someone using Office 2007 runs
my code that has xlExcel9795 in it then they will get an error too.


"Keith G Hicks" wrote in message
...
I'm working in vba in Access to create and save an Excel file. All's
good except that one of the workstations this is runnign on is using
Office 2007. I'm developing in 2003 and all the other workstatiosn they
have are using 2003. It's very important that the files be saved in
2003 format.

When I do this, it runs fine and saves as 97/95

objExcelBk.SaveAs sTempPath & sExcelFileName, xlExcel9795 ','56 = xl
2000/2003

I read online in a forum post that "56" is the correct code for saving
as 2003 but that's when the code is written in 2007. I cannot find a
constant in the list of constants in 2003 to save as 2003 (like
xlExcel0003 for example) and the "56" below causes the code to crash.

objExcelBk.SaveAs sTempPath & sExcelFileName, 56

I may end up having to use xlExcel9795 and I think that will be okay
but how do I code this to ensure saving as 2003 format while writing
the code in 2003?

Thanks,

Keith