关闭文件时内置在对话框中的Excel

时间:2013-12-05 10:36:51

标签: excel vba dialog

我指的是a previous question dealing with macros after closing Excel

其中一个答案通过显示一个使用简单命令" MsgBox"创建的对话框提供了一个非常优雅的解决方案。

现在,我想通过显示内置在对话框中的Excel(在关闭工作簿时显示)来确定是否可以实现更优雅的解决方案。目的:展示具有相同"外观和感觉的Dialox Box"与所有其他对话框一样,语言相同......

我做了一些研究,但我只找到了另存为对话框。

Application.Dialogs(xlDialogSaveAs).Show

显示对话框后,显然需要获取已单击的按钮,以继续前面提到的问题中的宏。

1 个答案:

答案 0 :(得分:1)

我认为你真正想要的是Application.GetSaveAsFilename

这将显示saveAs对话框,如果用户选择OK,则返回文件名;如果用户选择X或取消,则返回False。

应该注意,这只是显示对话框并获取交互的详细信息,它实际上不会保存您的文件。因此,您必须使用返回值将其实现到代码中。


Sub test()

Dim ans As Variant
Dim msg As String

ans = Application.GetSaveAsFilename

    If ans = False Then
    msg = "Action was cancelled"
    Else
    msg = "File Path is: " & ans
    End If

MsgBox msg, vbInformation, "Save As Result"

End Sub