使用内置的Microsoft Excel中使用VBA对话框
当您可以使用已经存在的东西时,不一定总是自己发明所有东西。
您可以访问Excel中的大多数内置对话框以及Office中的其他应用程序。
如果要让用户决定将工作簿保存在何处,则可以显示内置对话框“保存为”,如下所示:
Application.Dialogs(xlDialogSaveAs).Show
要获取Excel中所有可访问对话框的列表,请使用对象浏览器。
要显示它,请在激活模块后按F2。选择Excel作为库,然后查找以xlDialog开头的常量。…
如果您只想从以后要用于打开或保存工作簿的用户中检索文件名,则可以使用GetOpenFilename或GetSaveAsFilename方法。两种方法都显示各自的对话框,但是当用户确认对话框时,不要打开或保存文件。
这些方法将完整的文件名返回给用户想要打开或保存的文件。
FullFileName = Application.GetOpenFilename("Excel files (.xl),.xl", _ 1, "Custom Dialog Title", , False) FullFileName = Application.GetSaveAsFilename("DefaultFilename.xls", _ "Excel files (.xl),.xl", 1, "Custom Dialog Title")
结果可以按您想要的任何方式使用。您以后可以像这样打开所选的工作簿:
Workbooks.Open FullFileName
或者,您可以保存这样的工作簿:
ActiveWorkbook.SaveAs FullFileName
当用户确认FileOpen对话框或FileSaveAs对话框时,他/她也可能已更改了活动文件夹或当前文件夹,因此我经常使用这两种方法作为让用户选择文件夹的简单方法。您可以在“文件和文件夹”部分中找到让用户选择文件夹的另一种方法。