Email:      Pass:    Pass?
Close Window   
Subscribe for Email Updates!
Excel tips, help, and more!


Free Excel Forum

Convert Xl2003 Files To Xl2007 With Same Property Information

Forum Register
Search Excel Forum Posts, Tutorials, Macros, Tips, and More

Hi everyone,

I have been working for years with the .xls extension and have almost completely transitionsed to the .xlsx extension. The good thing is that the new extension takes up less space than the older version but I still have a lot of files in xls. I am wondering if anyone has come across a way to convert all the xls to xlsx files in a directory but while maintaining the original properties (e.g. when it was originally created, last time modified, etc.).



Similar Excel Video Tutorials

Helpful Excel Macros

Output the Name of the Current Excel Workbook Including Extension - UDF
- Free Excel UDF to display the name of the current Excel workbook, including the workbook extension. This function has n
Output the Name of the Current Excel Workbook Without the File Extension - UDF
- Free Excel UDF that displays the name of the Excel workbook without its extension. This is a great UDF (user defined fu
Replace Formulas with Values (For The Entire Workbook)
- This macro will convert every formula in an entire workbook into its respective value. This is basically a quick way to
Open a PowerPoint Presentation from Excel
- This free macro for Microsoft Excel allows you to open any PowerPoint presentation from excel. You can change the file
Convert Numeric Dollar Values into Text in Excel - UDF
- Convert a numeric dollar amount into its text equivalent. This UDF (user defined function) for Excel will change or tra

Similar Topics

Hi all,

I've recently upgraded my Office from 2003 to 2010. I have a drive which contains many folders and many files. All files in the folders are in .xls format and does not contain macros.

Usually, I convert a Excel 2003 .xls file by going to File > Info > Convert, but that I've to do it one by one.

I've about 100+ .xls files in my drive. Does anyone know how to mass convert the .xls files to .xlsx files?

I think I can't just change to file extension from .xls to .xlsx as I couldn't open the .xlsx file anymore.

We are having a problem reopening saved XLSX (as well as DOCX) files.

If a legacy XLSX file (probably from Excel 2009 for Mac) is opened in Excel 2011 for Mac, modified, then saved, it become un-openable.

Error message is:
"Excel cannot open this file. The file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file"

Since the filename nor extension has been changed, the only source of "corruption" is Excel 2011 itself.

Note that saving to an even older legacy format XLS does allow the file to be reopened.

Has anyone had this problem AND found a solution?

Hello Everyone,

I have a large number of .txt files that are comma separated files (but not saved with the .csv extension) that I need to convert to files with the .csv extension.

Is there an easy way to do this for all files in a given folder? Ideally, the files don't even need to be opened as they are are quite large in size (70MB+) and there are a lot of them (500+).

Any code snippets would be greatfully received.

Many thanks for your time,

I am using ms office 2000 pro. I'm receiving files with with excel.xlsx
extension and can not open them. Help would be greatly appreciated

Hi! Just got registered by this forum. My problem is (I don’t know if it is really problem) all the excel files in my computer show the .xls extension and I never noticed this before only right now. Is there something wrong with my computer because not only the excel files show the extension also word document. Every time I save a file it will automatically has an extension even if I delete the extension after I click save the extension will still appears.

Normally when I saved files I don’t see any extension in the file when it's in the folder.
Any help will be greatly appreciated.

see attached image.

Hi Everyone,
I've recently been using a database for downloading vast amounts of stock data at work. The stupid thing is that on the database station, there's only Excel 2003 so the xls files take up tons of space. After I save them in xls, I have to go to a different computer and convert (save) each file in the xlsx format to save up space and make opening/closing/working with the files faster. I have to this once, sometimes twice daily. My question is: is there a way to select all (for example 20 files) at once and convert them to xlsx or I have to do it manually for each one. Thanks for your help!

I have to download files from a database and save them in .xls format (the only format permitted to export from the database)

Anyone have a macro to:

Given an open excel wb saved to my hard drive (or network drive) in non .xlsx format. (most likely .xls)

Switch the file to .xlsx format without loosing the open file. (re-open ok).

-Don't want two files
-Dnn't want to have the file name changed (except for the extension).
-Don't want to remain in compatibility mode.
-Don't want to wait a long time.
-Don't want to have possibility of file corruption.

I just want to take my non .xlsx file and then, turn into a .xlsx file. (if I save the file as .xlsx I am still in compatibility mode until I re-open the file. I also will have two files---very annoying).

Thanks in advance

How would I write an excel macro to change all files in the same directory with a .xls extension to an .xlsx extension?


I saw where the extension for the new Excel 2007 files .xlsx can be renamed to .zip and then the component files can be seen. I tried it and it is true. My question is then, is it possible to replace any of the files such as the theme file and then rename the file back to .xlsx and have the change work?

I need to look at all files in a specific directory and see which of the files have a "DateLastModified" value which is equal to the current date. I then need to set a flag of some sort to let me know which files met the criteria so I know which files to look at. I know how to get the last modified date, but need help building the loop and setting the flag. I basically want to set a Y/N or T/F flag using a variable based on the file name, minus the extension. All of the files in the directory will be Excel files.

Using Excel 2007:
I am trying to use dir() in a While...wend to get a specific list of files to process, but I want the list to only include those with a .xls extension, not those ending in .xlsx. It seems that the file filter ".xls" doesn't exclude those files with a ".xlsx" extension.
Sample code demonstrating the problem (will show the problem if there is at least one cycle that meets a*.xls and one that meets a*.xlsx).
Is there a workaround to this at the dir() level? Or do I need to go ahead and open the file and test its contents?

Sub TestDir()
    On Error GoTo Nofile   'trap cancel, X-out of the dialog, etc.
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        .InitialFileName = "a*.xls"
        GetDir = .SelectedItems(1)
    End With
    On Error GoTo 0       'reset error handler
    If GetDir  "False" Then
        Path = CurDir & "\"
        MsgBox "Directory not selected"
        Exit Sub
    End If
    df = Dir(Path & "a*.xls") 'should get the list of a*.xls files in the directory, but gets a*.xlsx too
    While df  ""
        MsgBox (df)
    df = Dir()
    GoTo OK     'skip the error message
    MsgBox ("No file selected.  Macro will exit.")
    Exit Sub

End Sub

Thanks for any help,

I've got a macro that I've pieced together from different sources on the web designed to combine a lot of excel workbooks with single worksheets into one workbook with many worksheets. My problem is, the extension used in the VBA is .xls, causing me to have to go in manually each time the extension is something else, say, .xlsx, and change the code before I can put the files together.

Does anyone know how to make this tweak so that I can have multiple file extensions automatically checked? Maybe even a list of them could be added to the first sheet under Accepted File Extensions so that someone else who was using it could add theirs if it wasn't already in the list without having to open up the VB editor?

I've attached the file. Thanks


It doesn't seem to work at all when I go from .xls to .xlsx, although .dat and .rep both work. Not sure what causes this either.

I have just received an eMail from my accountant and here file name extension is .xlsx

I have never seen this before. Can someone tell me why the x on the end of the extension?

Also, when it opens, a Message Box is displayed: File Conversion in process.

I have a user on our network who has created an excel file on a network share. She has started noticing that when she is updating it, it is creating these sort of backup files. They are not backup files I am used to seeing i.e. the hidden microsoft backup files that start with a ~

I originally thought they had nothing to do with excel. The reason for this being that say the original file was called MyExcelFile.xls the backup file is totally random i.e. 0DC81000 with no file extension. I assumed that because it has no file extension that it would not open, without first asking you which program I would like to use. However it opens up in excel and it is what looks like a backup of the original file.

This user does not have permissions to view hidden files or folders so I dont know why these are being saved. The strange thing is that it only seems to happen to users on that specific server, it does not happen on any of our other servers.

Does anyone have any ideas???

I have some lotus spreadsheet files with extension .WR1. These files were created in early 80's possible using Lotus 123. I need to open & read these files. Can somebody convert these files to excel or suggest software to buy.

Many Thanks!


I have an excel file that is distributed within my organization. That file contains certain worksheets that the end-users do not need to see or make changes to, so in the VBA project, I change those files to "VeryHidden". Then I protect the workbook's VBA code by going to Tools->VBAProject- Project Properties-> Protection tab and adding a password. This worked great as it allowed all the other sheets to function as intended, but didn't allow the users to access the sheets that were hidden.

However, we recently upgraded to Excel 2007, and the password protection is stripped whenever the file is saved with the extension .xlsx. I can save it as a "macro-enabled" file with the extension .xlsm, but all that needs to be done to remove the password is to save it with the .xlsx extension again. Is there something that can be done in Excel 2007 to protect VBA code, or am I doing something completely wrong?

This is my first post here, so please let me know if I've done something wrong!

I have a few files sent out to field users. These users, for some reason, really love to change my .xlsm excel files to .xlsx when they save. Is there any VBA code that will help with this? The closest I could come up with is using the BeforeSave workbook event, but this still allows the user to make any changes they want to extension once the Save As dialog box appears.

Example of what I want:

User clicks save as, types in a new file name and selects .xls
Macro assigns the previous file extension to the file then saves it.

I have many files with macros that reference other excel files and now that I have been converted to Office 2007, the extensions are changing.

Is there away to call another file w/o having the specifically reference .xls, .xlsx, or .xlsm so that it will access the file no matter the specific excel extension?

Our company has just had all its PCs upgraded and we've moved to Vista and Excel 2007.

I have loads of files in .xls that I'd like to convert to .xlsx. Is there any way to convert them en masse without going into each one and doing them individually?


some of the files have macros embedded, so it would be useful if they could be converted to .xlsm at the same time



Good morning everyone.

A co-worker of mine is having a problem opening his Excel files that I can't figure out, and I was wondering if any of you had any suggestions on what could be causing it. He is running Excel 2003.

When he tries to open files by "double-clicking" them, they begin to open normally, and for a brief couple seconds you can see the filename with the ".xls" file extension in the blue bar at the top of the window like normal, but then the ".xls" file extension disappears and it immediately changes to a number "1". The filename is still there, but it is followed by a "1" instead of the ".xls" file extension, and it prevents him from saving the file. If he tries to save it he must use "save-as". These are files he works with on a daily basis so the permissions have been set to allow him full control since they were created. The strange thing is that if he opens the same file by "right-clicking" and then clicking "open" from the sub-menu, it works fine? It only replaces the ".xls" with a "1" when he opens it by "double-clicking" the file.

I would be grateful for any input you may have. Thanks in advance and have a great day!

Best regards,

Very new to all this VBA programming. I need help modifying Ken Puls "Count Files in a directory (All file types or one specific type only, using FileSearch)" I would like the script to except a wild card expression of a file type (ie.*-ps.sid this would return all the files with -ps at the end of the .sid extention)

Thank You in advance: Sydney Wood

Option Compare Text
Option Explicit

Function CountFiles(Directory As String, Optional Ext As String = "All") As Double
'Function purpose: To count all the files in a directory
'Alternate purpose: To count all files in a directory with a specified file extension

'Method: If a file extension is supplied as an arguement, we can cut down on the list
' of files to filter through by calling only files that are in the same
' msoFileType group. (ie .doc and .dot files belong to the WordDocuments
' group, but not the ExcelWorkbooks group. This will allow us to count the
' number of files matching the extension more quickly, since we will only
' operate on files that belong to that group, not all groups. If no file
' extension is supplied (or the file does not belong to any specified group,)
' we can still resort to counting all files.


Dim fs As Object, i As Integer

'Create the FileSearch object
Set fs = Application.FileSearch

'If an empty string has been passed as the file extension, set it to "All"
If Len(Ext) < 3 Then Ext = "All"

With fs
'Set the directory to look in to the directory arguement supplied by the user
.LookIn = Directory
'Determine the msoFileType group that the file extension belongs to.
.FileType = GetMSOFileType(Ext)
'Execute the search

If Ext = "All" Then
'If no file extension supplied, count all files in the directory
CountFiles = .FoundFiles.Count
'If a file extension is supplied count the number of files in the
'filtered list which match the supplied extension
For i = 1 To .FoundFiles.Count
If Right(.FoundFiles.Item(i), 3) = Right(Ext, 3) Then _
CountFiles = CountFiles + 1
Next i
End If
End With

'Release the FileSearch object
Set fs = Nothing

End Function

Function GetMSOFileType(FileExt As String) As Double
'Function purpose: To determine the msoFileType of a file extension
'Note: If a file extension does not exist in the list, the file type will default
' to AllFiles. More msoFileTypes can be found by looking up the "FileType Property"
' in the VBA help, or on Sheet2 of the example workbook

Select Case Right(FileExt, 3)
Case Is = "doc", "dot"
'Assign file type of msoFileTypeWordDocuments
'NOTE: msoFileTypeWordDocuments does not include "rtf" files
GetMSOFileType = 3
Case Is = "xls", "xla", "xlt", "xlc", "xlm"
'Assign file type of msoFileTypeExcelWorkbooks
'NOTE: msoFileTypeExcelWorkbooks does not include "xll" or "xlw" files
GetMSOFileType = 4
Case Is = "ppt", "pps", "pot"
'Assign file type of msoFileTypePowerPointPresentations
GetMSOFileType = 5
Case Is = "mdb", "mde", "ade", "adp"
'Assign file type of msoFileTypeDatabases
'NOTE: msoFileTypeDatabases does not include "mda" files
GetMSOFileType = 7
Case Is = "pub"
'If XL2002 or later, assign file type of msoFileTypePublisherFiles
'otherwise, assign file type of msoFileTypeAllFiles
If Val(Application.Version) < 10 Then
GetMSOFileType = 1
GetMSOFileType = 18
End If
Case Is = "vsd", "vss", "vst"
'If XL2002 or later, assign file type of msoFileTypeVisioFiles
'otherwise, assign file type of msoFileTypeAllFiles
'NOTE: msoFileTypeVisioFiles does not include "vsw", "vdx", "vsx" or "vtx" files
If Val(Application.Version) < 10 Then
GetMSOFileType = 1
GetMSOFileType = 21
End If
Case Is = "htm", "tml", "mht"
'If XL2002 or later, assign file type of msoFileTypeWebPages
'otherwise, assign file type of msoFileTypeAllFiles
If Val(Application.Version) < 10 Then
GetMSOFileType = 1
GetMSOFileType = 23
End If
Case Else
'Assign file type of msoFileTypeAllFiles
GetMSOFileType = 1
End Select

End Function

Hi, I am analysing a bunch of file data and due to the large volume of data the sorts and filters take ages to run.

Column B contains the size of the files in bytes.
Columns D, E and F contains their last access, date created and last modified dates.
Column H contains the file extension.

I would like to be able to do the following -

Insert a new column after each of those mentioned above.

Change column B to reflect Megabytes as opposed to bytes((B2\1024)\1024).
In the new column C, analyse the data in column B into the following categories - 1GB.

In the new columns after D, E and F analyse the date data into categories, just show the years if the dates are in the last 5 years, older than 5 years for those dates between 2002 and 2005 inclusive, older than 10 years for those dates between 1992 and 2001 inclusive, older than 20 years for those dates between 1982 and 1991 inclusive, older than 30 years for those dates earlier than 1981.

Finally do a lookup in the new column afer column H to get the actual name of the file extension(I have a basic list of file extension names).

I realise this is quite a task but any help would be much appreciated! I can manipulate code but writing it from scratch is a bit of a stretch for me....

Many thanks!

I have a directory of files that I want to import into Access. However, Access does not seem to recognize the extension. I seem to remember a way to get around that, but it involved going into the registry and adding the file extension.....any thoughts?

I have been looking round and have come back to you guys to give me some advice, I am looking for a way to bulk convert a number of xls files to xlsx format, as i have noticed that xlsx files are around 3 times smaller than xls files.
I am thinking that some sort of macro which file by file opens the file, saves it as an xlsx (2010) file and then deletes the original.

I know that a number of my files are quite small but there are a number which are around 100mb, and these very quickly add up to many Gb.

If anyone can help or point me in the right direction i would be really greatful


Hi Excel Masters,

Currently we are migrating from Excel 2003 to Excel 2007, as you know in Excel 2007 for macro version the file extension is .xlsm and for non-macro version the extension is .xlsx, now suppose if the users saved a macros included file as non-macro version ie extension as .xlsx.
Do you have any way to enable the macros in the file or any way to get macro in the .xlsx file.

I do not want to resave the original file to .xlsm.