在VBA中经常要用到文件对话框来进行打开文件、选择文件或选择文件夹的操作。
用Microsoft Office提供的文件对话框比较方便。
用法如下
Application.FileDialog(fileDialogType)
fileDialogType MsoFileDialogType 类型,必需。文件对话框的类型。
MsoFileDialogType 可为以下 MsoFileDialogType 常量之一。 |
msoFileDialogFilePicker 允许用户选择文件。 |
msoFileDialogFolderPicker 允许用户选择一个文件夹。 |
msoFileDialogOpen 允许用户打开文件。用Excel打开。 |
msoFileDialogSaveAs 允许用户保存一个文件。 |
分别举例如下:
1、msoFileDialogFilePicker
1)选择单个文件
Sub SelectFile()
'选择单一文件
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False '单选择
.Filters.Clear '清除文件过滤器
.Filters.Add "Excel Files", "*.xls;*.xlw"
.Filters.Add "All Files", "*.*" '设置两个文件过滤器
If .Show = -1 Then 'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
MsgBox "您选择的文件是:" & .SelectedItems(1), vbOKOnly + vbInformation, "智能Excel"
End If
End With
End Sub
2)选择多个文件
Sub SelectFile()
'选择多个文件
Dim l As Long
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True '单选择
.Filters.Clear '清除文件过滤器
.Filters.Add "Excel Files", "*.xls;*.xlw"
.Filters.Add "All Files", "*.*" '设置两个文件过滤器
.Show
'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
For l = 1 To .SelectedItems.Count
MsgBox "您选择的文件是:" & .SelectedItems(l), vbOKOnly + vbInformation, "智能Excel"
Next
End With
End Sub
2、msoFileDialogFolderPicker
文件夹仅能选择一个
Sub SelectFolder()
'选择单一文件
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。
MsgBox "您选择的文件夹是:" & .SelectedItems(1), vbOKOnly + vbInformation, "智能Excel"
End If
End With
End Sub
3、msoFileDialogOpen
4、msoFileDialogSaveAs
使用方法与前两种相同
只是在.show可以用.Execute方法来实际打开或者保存文件。
例如:
Sub SelectFile()
'选择单一文件
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False '单选择
.Filters.Clear '清除文件过滤器
.Filters.Add "Excel Files", "*.xls;*.xlw"
.Filters.Add "All Files", "*.*" '设置两个文件过滤器
.Execute
End With
End Sub
另见:
《用Excel VBA选择文件、高容错性地打开文件》
http://justsee.iteye.com/blog/1468743
转自因特网,感谢因特网的雷锋们!
分享到:
相关推荐
选择对象 复制对象 移动对象 删除对象 比例缩放对象 转换对象 延伸和修剪对象 分解对象 编辑多段线 编辑样条曲线 编辑阴影 使用图层、颜色和线型 使用图层 使用颜色 使用线型 分配图层、颜色和线型...
VBA 浏览文件夹对话框调用实现代码。大家可以根据需要选择。
VBA编写的复制文件夹工具
文件对话框空间commanddialog的练习
VBA做的小工具,将指定文件夹下文件放入匹配名字的文件夹内,文件属于复制移动
Excel VBA工具 可以指定条件, 列出某个文件夹下所有子文件夹和文件
VBA读取文件夹下所有文件的三种方法,能够读取到子文件夹下所有的文件。
VBA的针对文件夹文件的常用操作,日文注释,对日行业的话看起来可能比较顺利
用VBA写的一个小工具,可以统计某个文件夹下的文件以及子文件,发生更新或者消除的情况,是个beta版,可以修改以改进功能。
VBA文件夹,直接解压后,放到%Common Files%\microsoft shared下, 再通过win+r调出CMD窗口,输入regedit后弹出注册表编辑器, 找到HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3\0\win32...
Excel-VBA宏编程实例源代码-打开“文件夹选择”对话框.zip
通过VBA实现了文件批量拷贝 支持多层文件结构 适合使用:带目录的文件拷贝 适合使用:带目录的文件拷贝
设置缺省目录和文件名_Excel VBA应用.rar,本例介绍的技巧将演示利用ChDrive语句和ChDir语句设置打开文件对话框中的缺省目录,并里利用SendKeys方法设置缺省文件名。
制作路径选择对话框_Excel VBA应用.rar,Excel VBA中的GetOpenFilename和GetSaveAsFilename方法能够显示标准的文件打开和文件保存对话框,以获取用户选定文件的完整路径与文件名,但是不能用于文件路径的选� H绻...
使用VBA获取文件夹里的所有文件名和文件属性. 速度较快.
利用VBA操纵文件和文件夹,,总结的非常的好,不论你用什么软件,都可以参考一下这个。
Excel VBA 语法与应用辞典 黄海 实例文件 Excel VBA语法与应用辞典》中所有实例文件的原始、素材和完成文件。 309个VBA高效办公示例;216个代码错误提示分析;200分钟ExceI功能讲解。 内容丰富:包括Excel,VBA...
VBA批量重命名文件,将文件夹中相同的文字批量重命名
Excel VBA 经典代码应用大全
VBA中调用Excel内置对话框。 excel内置对话框使用方法。