我正在使用Excel 2010.我使用以下代码从VBS(VB脚本)打开test.xls文件:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("E:\test\test.xls")
objExcel.Application.Visible = True
工作簿test.xls打开正常,但是我把它放在Thisworkbook Module中的workbook_open宏:
Private Sub Workbook_Open()
MsgBox "Hello"
End Sub
不会跑。
当我直接打开test.xls时,它可以工作,但不能通过VB脚本。
我设置了Developer>宏安全>宏设置启用所有宏, 但这仍然没有帮助。
答案 0 :(得分:0)
最近我遇到了同样的问题。这就是我所做的。
将文件另存为.xlsm(支持marco的Excel)。
不是在工作表中编写代码,而是创建新模块并将VBA代码复制到名为“Excel_Macro”的函数或子函数中。
在您的VBS代码中包含以下两行(从您打开Excel的位置)。
objExcel.Run( “Excel_Macro”)
这对我有用。