本帖最后由 hwc2ycy 于 2014-4-18 15:38 编辑
很多时候在代码中需要指定某个文件夹,例如批量汇总某个文件夹下的所有工作簿,备份数据到指定文件夹。当然这个可以直接在变量中指定,但是是交互的方式不是更省事嘛,让使用者直接在对话框中选择,然后确定,so easy。
1.Application.FileDialog
应用程序对象的FileDialog属性提供了4种类型的文件对话框可供使用。
用于选择文件夹时只需指定参数为msoFileDialogFolderPicker就可以了。
效果如下图:
Application.FileDialog返回一个FileDialog对象,该对象表示文件对话框的实例。
FileDialog对象的属性如下:
AllowMultiSelect 是否允许同时选个多个文件(文件夹选择只能是一个,哪怕设置了多选)。
ButtonName 设置或获取代表文件对话框中动作按钮(默认显示的是确定)的标题。当设置过一次标题后会会一直保存,除非设置新的或重新打开EXCEL。另外,通过还可以通过标题给确定按钮设置快捷键。
InitialFileName 设置或返回字符串,代表文件对话框中初始显示的路径或文件名。
InitialView 获取或设置一个 MsoFileDialogView 常量,代表文件对话框中文件和文件夹的初始表示形式。在WIN7下测试,这个属性貌似不起作用。
MsoFileDialogView可取值如下:
SelectedItems 获取一个 FileDialogSelectedItems 集合。此集合包含用户在使用 FileDialog 对象的 Show 方法显示的文件对话框中所选的文件的路径列表。
Title 设置或获取使用 FileDialog 对象显示的文件对话框的标题。
属性完了,还有一个最最重要的方法Show,设置了属性,不给显示出来让用,那不白折腾了嘛。
Show方法在显示文件对话框并返回一个 Long 类型的值,指示用户按下的是“操作”按钮 (-1) 还是“取消”按钮 (0)。在调用 Show 方法时,在用户关闭文件对话框之前不会执行其他代码。
每个宿主应用程序只能创建一个 FileDialog 对象实例。因此,即使创建多个 FileDialog 对象,FileDialog 对象的很多属性也会保持不变。所以,在显示对话框之前请确保已经针对用途适当地设置了所有属性。
示例:
|