已经提到过这个主题,但没有解决方案。我有一个非常简单的宏调用其他工作簿及其宏来执行:
Sub Execute()
Workbooks.Open Filename:="C:Beta.xlsm"
Application.Run "C:Beta.xlsm!Macro"
Workbooks.Open Filename:="C:Alpha.xlsm"
Application.Run "C:Alpha.xlsm!Macro1"
ThisWorkbook.SaveChanges = False
Application.Quit
End Sub
问题在于,现在我收到一条error 1004
,其中包含以下消息:Cannot run the macro The macro may not be available or all macros may be disabled.
PS。我已经启用了Macros并在信任中心勾选了该框(仍有错误)。
答案 0 :(得分:2)
我重新安装了整个MS Office软件包。现在它有效。我不知道是什么导致了这个问题。没有其他解决方案。我已经应用了本帖和其他帖子中提到的所有内容。谢谢你的时间。
答案 1 :(得分:0)
确保指定.xlsm文件的完整路径(此处为C:\ temp),否则使用当前目录。
要运行宏,请删除路径(仅限xlsm文件名)
Sub Execute()
Workbooks.Open Filename:="C:\Temp\Beta.xlsm"
Application.Run "Beta.xlsm!Macro"
Workbooks.Open Filename:="C:\Temp\Alpha.xlsm"
Application.Run "Alpha.xlsm!Macro1"
ThisWorkbook.SaveChanges = False
Application.Quit
End Sub
答案 2 :(得分:0)
单击DEVELOPER - >宏安全(带感叹号的黄色三角形) - >微距设置 - >启用所有宏。
答案 3 :(得分:0)
确保模块名称和子名称不同。 换句话说,模块名称必须具有与子名称不同的名称。