objXLApp.Run "abc",这条语句是调用“f:/abc.xlsm”文件里的一个宏过程,所以abc.xlsm文件里必须要有一个名为abc的宏,而不是该文件名为“abc”。
我创建这样一个工作簿文件,并修改了代码,可以运行。
Sub test()
Dim objXLApp
Dim objXLBook
Set objXLApp = CreateObject("Excel.Application")
'注意以下的“e/data_test.xls”的位置需要修改为包含宏的那个excel的实际位置
'位置需要设置为绝对路径
Set objXLBook = objXLApp.Workbooks.Open("f:/abc.xlsm")
'doChangeExcel即为excel中的宏方法的名称
objXLApp.Run "abc"
'objXLBook.Saved = True
objXLBook.Save
objXLBook.Close
Set objXLBook = Nothing
objXLApp.Quit
Set objXLApp = Nothing
End Sub