VBA Excel:如果从另一个宏

时间:2018-05-14 16:08:07

标签: excel vba excel-vba excel-2016

我有一个宏打开另一个可以只读的工作簿。为了避免只读警报,我将Application.DisplayAlerts propery切换为False,就像这样

Sub tmp()
Application.DisplayAlerts = False
Debug.Print Application.DisplayAlerts
Workbooks.Open "\\Co-file01\FileName.xlsx"
End Sub

它工作正常,但如果我从另一个宏调用它,就像这个

Sub tmp1()
Application.Run "tmp"
End Sub

我仍然收到警报,代码停止工作,等待响应。这条线

Debug.Print Application.DisplayAlerts 

返回False,所以看起来属性真的被切换了,但由于某种原因它不适用。

任何人都可以通过这种方式解释其工作原因并建议任何解决方法吗?

我正在使用Excel 2016 64bit,Windows 7(如果有问题)

1 个答案:

答案 0 :(得分:0)

jkpieterse提出了答案

  

您应该直接通过名称调用宏:只需在a上键入tmp1即可   新行,而不是使用application.run