【问题标题】:Excel built in Dialog Box when closing a file关闭文件时Excel内置对话框
【发布时间】:2013-12-05 10:36:50
【问题描述】:

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

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

现在我想知道是否可以通过显示 Excel 内置对话框(关闭工作簿时显示)来提供更优雅的解决方案。目的:展示一个与所有其他对话框具有相同“外观”、相同语言、相同...的 Dialox 框。

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

Application.Dialogs(xlDialogSaveAs).Show

显示对话框后,显然需要获取被点击的按钮,才能继续上一个问题中的宏。

【问题讨论】:

  • 问题是什么?
  • 在字里行间,我认为他在问您如何获得已选择按钮的值。 显然需要获取已单击的按钮,以继续宏 据我所知,您无法使用Application.Dialogs(xlDialogSaveAs).Show 获取返回值。但你是对的@mehow,问题不是很清楚

标签: excel vba dialog


【解决方案1】:

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

这将显示另存为对话框,如果用户选择 OK,则返回文件名,如果用户选择 X 或 Cancel,则返回 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

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    相关资源
    最近更新 更多