VBA Dialogs.Show不显示警告消息

时间:2014-07-03 18:36:32

标签: excel vba excel-vba

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

"您无法使用与另一个打开的工作簿或加载项相同的名称保存此工作簿。选择其他名称,或在保存之前关闭其他工作簿或加载项。"

到目前为止一切顺利。但我的问题是我需要通过VBA调用对话框。我使用以下代码:

Sub test()

Application.Dialogs(XlBuiltInDialog.xlDialogSaveAs).Show

End Sub

现在我正在尝试保存第二个工作簿(同名到不同的位置)但是当我点击“保存”时按钮什么都没发生,没有警告信息。如果我不知道什么是错的,那就太难说了。我没有改变任何设置(DisplayAlerts设置为true或者没有任何设置)。知道如何通过VBA调用SaveAs对话框来显示类似的警告吗?

2 个答案:

答案 0 :(得分:2)

我不确定为什么这不会给你一个错误,但它也不是我。如果使用Application.FileDialog,则可能会出现该错误。

Sub testts()

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

End Sub

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

答案 1 :(得分:-1)

您可以尝试使用以下代码启动代码。

Application.DisplayAlerts = True