You could do it with a VBScript (.vbs) file which you call from your batch file. This example allows the workbook to be specified as a command line argument for a bit more flexibility.
Save this as Run_Excel_Macro.vbs:
Dim args, objExcel
Set args = WScript.Arguments
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open args(0)
objExcel.Visible = True
objExcel.Run "Name_of_macro_in_workbook"
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close(0)
objExcel.Quit
Call it from the command line or your batch file like this:
Run_Excel_Macro.vbs "C:\Full\Path\To\Your_Excel_Workbook.xls"
Bookmarks