在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方法来实际打开或者保存文件。

VBA文件对话框的应用(VBA打开文件、VBA选择文件、VBA选择文件夹)的更多相关文章

  1. java中文件保存、打开文件对话框

    package com.soft.test; //AWT: FileDialog类 + FilenameFilter类 可以实现本功能 //Swing: JFileChooser类 + FileFil ...

  2. Java开发笔记(一百三十五)Swing的文件对话框

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

  3. VBA自动点击IE的浏览按钮、自动选择路径、自动关闭打开文件对话框

    VBA调用InternetExplorer操作IE浏览器,自动弹出文件选择对话框时,VBA会处于阻塞状态,你必须手工关闭文件选择对话框,VBA才能继续向后运行. 例如下面网址,就有一个文件浏览按钮: ...

  4. MFC 打开文件对话框 打开单个文件

    CFileDialog的语法: CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,D ...

  5. Ruby操作VBA的注意事项和技巧(1):乱码、获取VBA活动和非活动窗口的名称与路径、文件路径的智能拼接与截取(写入日期)

    1.VBA编辑器复制粘贴出来的代码乱码     解决方法:切换到中文输入模式再复制出来就行了 2.获取VBA活动和非活动窗口的名称与路径 Dim wbpath, filename As String ...

  6. MFC打开文件对话框

    { CString FilePathName; CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()==IDO ...

  7. QT 打开文件对话框汇总

    Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ",  tr( ...

  8. C# OpenFileDialog打开文件对话框(详解)

    一.打开文件对话框(OpenFileDialog) 1. OpenFileDialog控件的基本属性 InitialDirectory:对话框的初始目录 Filter: 获取或设置当前文件名筛选器字符 ...

  9. Winform控件:打开文件对话框(OpenFileDialog)

    OpenFileDialog类提供了用户打开文件的功能,它有如下属性: 属性 InitialDirectory:设置对话框的初始目录. Filter: 要在对话框中显示的文件筛选器,例如," ...

随机推荐

  1. MyBatis-Spring(二)--SqlSessionTemplate实现增删改查

    SqlSessionTemplate是个线称安全的类,每运行一个SqlSessionTemplate时,它就会重新获取一个新的SqlSession,所以每个方法都有一个独立的SqlSession,这意 ...

  2. python颜色

    # python终端显示彩色字符类,可以调用不同的方法# 选择不同的颜色.使用方法看示例代码就很容易明白.# --------------------------------------------- ...

  3. Airbub 弃用React Native

    弃用 React Native ? 最近的技术圈尤为热闹,Google 发布了首个 Flutter 预览版.Vue.js 在 GitHub 上的 star 数量超过了 React.js,而如今全球著名 ...

  4. VS2013 蛋疼的“AJAX Control Toolkit”安装过程

    1.AJAX Control Toolkit 下载问题 方法一. 在vs2013中 工具->NuGet程序包管理器->管理解决方案的NuGet程序包 搜索 ajax z找到 AjaxCon ...

  5. ADS 命令行命令介绍

    armasm 1. 命令:armasm [选项] -o 目标文件 源文件 2. 选项说明 -Errors 错误文件名        ;指定一个错误输出文件 -I 目录[,目录]          ;指 ...

  6. zless - 用于在显示器上阅读被压缩的文本文件的过滤器

    总览 (SYNOPSIS) zless [ name ... ] 描述 (DESCRIPTION) Zless 是一个文件过滤器, 用于在终端上全屏幕形式查看压缩的或没压缩的文本文件. 它等于把环境变 ...

  7. H5全局属性contenteditable,实现可编辑元素

    <div contenteditable="true">这是一段可编辑的段落.请试着编辑该文本.</div> 效果如下:

  8. Java ArrayList使用技巧 - 两个ArrayList去除重复的元素

    方法一.ArrayList中提供的removeAll方法(效率最低) List1.removeAll(mSubList); 方法二.双重循环(比方法一效率高) 双重循环分为内外两层循环,经过测试,将元 ...

  9. bzoj 2751

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2751 稍微推一下就知道是每一位置可取的值的和乘起来 #include <iostrea ...

  10. TopCoder[TCO2016 Round 1A]:EllysTree(1000)

    Problem Statement      Elly has a graph with N+1 vertices, conveniently numbered from 0 to N. The gr ...