在VBA中经常要用到文件对话框来进行打开文件、选择文件或选择文件夹的操作。
用Microsoft Office提供的文件对话框比较方便。
用法如下
Application.FileDialog(fileDialogType)
fileDialogType      MsoFileDialogType 类型,必需。文件对话框的类型。

  MsoFileDialogType 可为以下 MsoFileDialogType 常量之一。
    msoFileDialogFilePicker  允许用户选择文件。
    msoFileDialogFolderPicker  允许用户选择一个文件夹。
    msoFileDialogOpen  允许用户打开文件。用Excel打开。
    msoFileDialogSaveAs  允许用户保存一个文件。

分别举例如下:

1、msoFileDialogFilePicker 
1)选择单个文件

复制内容到剪贴板

代码:


Sub SelectFile()
    '选择单一文件
    'www.okexcel.com.cn
    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()
    '选择多个文件
    'www.okexcel.com.cn
    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()
    '选择单一文件
    'www.okexcel.com.cn
    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方法来实际打开或者保存文件。

转载于:https://www.cnblogs.com/shida-liu/p/9242524.html

VBA文件对话框的应用(VBA打开文件、VBA选择文件、VBA选择文件夹)相关推荐

  1. c++语言打开文件对话框,C++采用openfilename打开文件对话框用法实例

    本文实例讲述了C++采用openfilename打开文件对话框用法,分享给大家供大家参考.具体方法如下: 这里需要注意,有的时候会因为没设置nMaxFile,而一直不出现对话框. 具体功能代码如下: ...

  2. android自动弹出浏览器打开文件,android使用主流浏览器打开网页,无需弹出选择。...

    首先说一下开发需求,需要使用主流的浏览器打开网页,比如QQ浏览器,UC浏览器,opera浏览器,如果此手机里面有安装上述浏览器,则使用上述的浏览器打开网页,无需弹出浏览器选择项,如果这几种都有安装则按 ...

  3. php文件上传后没有打开权限_记墨者靶机文件上传(二)

    " 声明:该公众号大部分文章来自日常学习笔记,若是转载会先得到原作者授权或其他公众号白名单,并附上链接. 剑者,心之刃也.既可为杀,亦可为护.杀与护,不过一念之间!请勿利用文章内的相关技术从 ...

  4. docx文件是什么?如何打开后缀名.docx格式的word2007文件?

    < DOCTYPE html PUBLIC -WCDTD XHTML TransitionalEN httpwwwworgTRxhtmlDTDxhtml-transitionaldtd> ...

  5. vc 添加打开文件对话框并读取文件

    1.创建打开文件对话框:                                   CFileDialog dlg(TRUE,//TRUE是创建打开文件对话框,FALSE则创建的是保存文件对 ...

  6. c#—OpenFileDialog(打开文件对话框)

    OpenFileDialog是什么? OpenFileDialog是一个类,实例化此类可以设置弹出一个文件对话框.比如:我们发邮件时需要上传附件的时候,就会弹出一个让我们选择文件的对话框,我们可以根据 ...

  7. 选择文件对话框、保存文件对话框、选择文件夹对话框

    选择文件对话框 // 设置图像文件过滤格式CString lv_strFilterAll = _T("所有文件(*.*)|*.*||");CString lv_strFilterJ ...

  8. java swing对话框_Java开发笔记(一百三十五)Swing的文件对话框

    除了常规的提示对话框,还有一种对话框也很常见,它叫做文件对话框.文件对话框又分为两小类:打开文件的对话框.保存文件的对话框,但在Swing中它们都用类型JFileChooser来表达.下面是JFile ...

  9. cfiledialog对话框大小_利用MFC的CFileDialog生成Windows2000文件对话框 (转)

    利用MFC的CFileDialog生成Windows2000文件对话框 (转)[@more@] 利用MFC的CFileDialog生成windows2000文件对话框 周鸣扬 自Windows2000 ...

  10. 在服务器上如何打开aspx文件,aspx是什么文件_aspx用什么软件打开

    有用户从网上下载文件的时候,发现有一些是aspx格式文件,但是却不知道这个aspx是什么文件,又要怎么打开呢,针对这个情况,小编给大家带来aspx是什么文件以及aspx用什么软件打开吧. aspx是什 ...

最新文章

  1. vue2.0路由之编程式导航
  2. 三十六、深入Vue.js组件Component(上篇)
  3. IDEA弹出'xxx' is not allowed to run in parallel. Would you like to stop the running one?
  4. 简单快速导出word文档
  5. 一图搞定ML!2020版机器学习技术路线图,35页ppt
  6. 127.0.0.1 zxt.php,恭喜您!序列号购买成功!
  7. 刚入门的UI设计师,需要懂的图标设计规范?
  8. UML/ROSE学习笔记系列二:UML的概念模型
  9. 数据赋能变现时代,应用有哪些有效的变现方式?
  10. 【Shiro第八篇】SpringBoot + Shiro使用Shiro标签
  11. 自由空间光通信OptiSystem仿真
  12. Linux查 ssh端口号
  13. django rest framework serializer 增加自定义字段
  14. 尚学堂马士兵Oracle教程 笔记
  15. 钛资本研究院:保险科技行业现状及趋势分析
  16. 网页使用中文字体的两种解决方案
  17. ISTQB基础级认证参考书
  18. 苏州蜗牛面试感想 ------- 知其然而不知其所以然
  19. 添加权限,获取到用户信息,就用户当前部门进行下拉选择
  20. 碉堡了,一个专注于效率的开源编程语言

热门文章

  1. 大学毕业年的找工作和学习总结
  2. STM32学习笔记一一触摸屏
  3. 为什么修改host文件?
  4. nginx php 104,Nginx错误:recv() failed (104: Connection reset by peer) whi
  5. 点云综述学习笔记(一)
  6. 华为诺亚实验室:端侧AI模型的技术进展与未来|量子位·吃瓜社
  7. 海思Hi3516DV300软硬件全套开发资料
  8. 合唱团-网易python
  9. 工作后为什么攒不到钱?
  10. fastAdmin Echarts图形