DoCmd, как в «DoCmd.TransferSpreadsheet», является командой MS Access, а не командой Excel. Я думаю, что это твоя проблема.
Если этот VBA работает внутри MS Access, просто обратитесь к нему как
DoCmd.TransferSpreadsheet
Не
objexcel.DoCmd.TransferSpreadsheet
Кроме того, если это то, что вы делаете, вам не нужно вручную создавать файл Excel с помощью Execl Automation, Access сделает это за вас.
Извините, если я неправильно понял, что вы делаете, но я думаю, что все, что вам нужно, это команда TransferSpreadSheet.