【发布时间】:2016-06-15 22:44:27
【问题描述】:
我正在使用这个 vbscript 来触发宏以在 Excel 中运行而无需打开 Excel。
sub test()
Set fso = CreateObject("Scripting.FileSystemObject")
curDir = fso.GetAbsolutePathName(".")
Set myxlApplication = CreateObject("Excel.Application")
myxlApplication.Visible = False
Set myWorkBook = myxlApplication.Workbooks.Open("\\Mac\Home\Desktop\TEST.xlsm" ) 'Change to the actual workbook that has the Macro
myWorkBook.Application.Run "Module1.Macro1()" 'Change to the Module and Macro that contains your macro
myworkbook.save
myxlApplication.Quit
end sub
它没有像预期的那样工作,宏没有运行,即使我将代码更改为:
myWorkBook.Application.Run "Module1.Macro1()"
对于一些不存在的宏名称,这个 vbs 应该给我一个错误消息。但甚至没有出现错误消息。不知道为什么vbs没有运行,我只是双击vbs文件运行。
请再次注意, 即使我编码任何错误,它甚至不会给我任何错误消息。这很奇怪
【问题讨论】:
-
你试过
Call Macro1吗? -
Call Macro1 放在哪里?
-
而不是
myWorkBook.Application.Run "Module1.Macro1()" -
对不起,我刚刚意识到宏在不同的 WB 中
-
试试这个
myxlApplication.Run "Macro1"...等等,你是在Mac上运行这个吗?还是窗户?如果是 Mac,VBS 脚本不会在 Mac 上运行。