VBA对话框.Show不显示警告消息

有两个工作簿的Excel(2010年在我的情况,但我认为这将是相同的其他版本)。 通过“另存为”对话框保存名为“1.xlx”的第一个(例如)。 保存第二个具有相同名称的“1.xlx”到不同的位置。 Excel不允许出现以下警告消息:

“您不能保存与另一个打开的工作簿或加载项具有相同的名称该工作簿。select一个不同的名称,或在保存之前closures另一个工作簿或加载项。

到现在为止还挺好。 但我的问题是,我需要通过VBA调用对话框。 我正在使用以下代码:

Sub test() Application.Dialogs(XlBuiltInDialog.xlDialogSaveAs).Show End Sub 

现在我正在尝试保存第二个工作簿(具有相同的名称到不同的位置),但是当我点击“保存”button时,什么也没有发生,没有警告信息。 如果我不知道什么是错的,那很难说清楚。 我没有改变任何设置(DisplayAlerts没有设置为true)。 任何想法如何通过VBA调用SaveAs对话框来显示类似的警告?

我不知道为什么这不会给你一个错误,但它也不是我。 如果你使用Application.FileDialog,你可以得到这个错误。

 Sub testts() With Application.FileDialog(msoFileDialogSaveAs) .Show .Execute End With End Sub 

或者您可以使用GetSaveAsFileName并检查所有打开的工作簿的名称,并自己生成错误。

你可以尝试用下面的代码开始你的代码。

 Application.DisplayAlerts = True