早上好,
我正在尝试使用vbscript运行一个简单的测试宏,我收到此错误:“无法运行宏'测试' . 宏可能在此工作簿中不可用,或者所有宏都可能被禁用 . ”
这是vbscript中的文本:
Dim objExcel, xlBook
Set objExcel = CreateObject("Excel.Application")
Set xlBook = objExcel.Workbooks.Open("S:\Water\ProcedureSheet.xlsm")
objExcel.visible = True
objExcel.Run "Test"
xlbook.Save
xlbook.Close
objExcel.Quit
执行此操作时,工作簿正常打开,因此上面指定的路径是正确的 . 在这个工作簿中,我有一个名为Test的模块,它包含以下宏:
Public Sub Test()
With Sheet3
Cells(1, 1).Value = Time()
End With
End Sub
很简单吧?我已经多次检查了vbscript文本的拼写错误,并且我在Trust Center设置中启用了“信任访问VBA项目对象模型” . 我甚至自动启用了所有宏 . 我不确定这里出了什么问题 . 这个论坛上的其他人提到需要以管理员身份运行vbscript才能使用它?由于我在工作计算机上,因此我没有此系统的管理员权限,所以我无法尝试 .
有没有人有任何想法?谢谢!
3 回答
它对我有用,在对您的公共子测试进行一些更改后,您编写的With部分看起来像Pseudocode而不是“正确的代码” .
此外,Time()不是有效函数,它将返回Empty值,您必须使用“Now”函数来获取当前时间和/或日期
我有一个工作正常,但它有一个小的差异 .
“0,False”选项不应影响宏是否运行,但谁知道?也许在游戏中有另一个选项,默认方向错误?
我很感谢这个问题的所有帮助 . 在弄乱了一分钟之后我弄清楚了我的错误 . 在上面的例子中,写入“Test”子的模块也被命名为“Test”,这就是出错的原因 .
只需更改名称并修复上面提到的正确识别的伪代码,脚本就可以了 . 我将模块名称更改回“Test”以确认我的怀疑,确实是模块名称导致该错误被抛出 .