在模块中时,VBScript无法打开宏

时间:2018-07-23 21:04:43

标签: excel vba excel-vba vbscript module

我有一个真正简单的代码来打开excel工作表并运行其中的宏。我四处搜寻,以找出为什么这行不通,但是一切都告诉我要完全按照我的方式来编写代码。 vbs会毫无问题地打开excel文件,但是当它到达行objExcel.Run "MyMacro"时,出现一个错误,提示它无法运行宏,因为它可能不可用或所有宏都被禁用了。

我尝试了几件事,例如确保所有宏都在打开时启用,我还尝试将其设置为Public Sub,但没有运气。

如果我将代码放在工作表中并使用objExcel.Run "Sheet1.MyMacro"可以正常工作,但是我有多个宏,并且我不想将它们放在工作表中,我想从模块中运行它。我究竟做错了什么?

这是我的代码:

Dim objExcel, objWorkbook 

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:MyPath\MyFile.xlsm")
objExcel.Visible = True
objExcel.Run "MyMacro"
objWorkbook.Close
objExcel.Quit

Set objWorkbook = Nothing
Set objExcel = Nothing

WScript.Echo "Finished."
WScript.Quit


如果将其放在工作表中,这是可以工作的代码:

Dim objExcel, objWorkbook 

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:MyPath\MyFile.xlsm")
objExcel.Visible = True
objExcel.Run "Sheet1.MyMacro"
objWorkbook.Close
objExcel.Quit

Set objWorkbook = Nothing
Set objExcel = Nothing

WScript.Echo "Finished."
WScript.Quit

请帮助!我知道这并不困难,但是我搜索过的所有内容都告诉我完全按照自己的方式做。

谢谢!

0 个答案:

没有答案