It seems to me that you are going the long way around just to dump data in a spreadsheet. Why not try this:
Code:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "TableOrQueryName", "C:\Documents and Settings\All Users\Desktop\SpreadsheetName.xls", True
Just replace the TableOrQueryName with the name of a table or query in your database, and replace the SpreadsheetName.xls with whatever name you want.
This will dump a copy of the table or query on your desktop in a spreadsheet with the name you designate, with a worksheet that has the same name as your table or query.
Did that help?