`
啸笑天
  • 浏览: 3466316 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

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

    博客分类:
  • vba
 
阅读更多

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

 

 

转自因特网,感谢因特网的雷锋们!

分享到:
评论

相关推荐

    调出打开文件对话框

    "调出打开文件对话框"这一功能,就是用户界面中常见的一个元素,它允许用户从自己的计算机上选择一个特定的文件来执行某个操作,如打开、编辑或保存等。在本例中,我们讨论的是在Access环境下如何实现这一功能。 ...

    VBA 浏览文件夹对话框调用的几种方法

    VBA中的`FileDialog`对象提供了用户界面友好的文件和文件夹选择对话框。在这种情况下,我们使用`msoFileDialogFolderPicker`常量来指定我们要显示的是文件夹选择对话框。当用户点击“确定”时,`Show`方法会返回-1...

    文件打开和保存对话框的练习

    本练习主要关注"CommonDialog"控件,这是一个标准的Windows API组件,用于实现常见的对话框功能,如打开文件、保存文件、颜色选择、字体选择等。在VB(Visual Basic)或VBA(Visual Basic for Applications)编程中...

    VB6选择文件夹模块(完整版)

    总结起来,"VB6选择文件夹模块(完整版)"提供了在VB6应用程序中方便地打开文件夹选择对话框的能力,通过封装API调用,简化了开发者的使用流程。这个模块的完整代码应该包含适当的错误处理和所有必要的辅助函数,确保...

    excel内置对话框使用方法

    这些内置对话框包括但不限于打开文件对话框、保存文件对话框、打印对话框等。本文将详细介绍如何在VBA中调用Excel内置对话框,以及每个对话框的基本用法。 #### 二、Excel VBA内置对话框概述 Excel VBA提供了多种...

    Excel-VBA宏编程实例源代码-打开“文件夹选择”对话框.zip

    这个压缩包中的"打开“文件夹选择”对话框.xlsm"文件可能就是一个包含上述VBA宏的Excel工作簿。当你打开并运行这个工作簿中的宏时,你将看到一个实际的文件夹选择对话框,你可以从中选择一个文件夹,然后VBA宏会显示...

    设置缺省目录和文件名_Excel VBA应用.rar

    当用户打开文件对话框时,我们可以利用`SendKeys`预先输入一个默认的文件名,例如,如果你经常需要打开或保存名为"Report"的文件,可以在对话框弹出后立即执行`SendKeys "Report"`,这样文件名框就会自动填入"Report...

    VBA写的检测特定目录下文件夹以及文件的更新情况表

    在这个特定的项目中,“VBA写的检测特定目录下文件夹以及文件的更新情况表”是一个利用VBA编写的程序,用于监测指定文件夹及其子文件夹内的文件状态变化,如新增、修改或删除。 该程序的核心功能可能包括以下几个...

    VBA文件夹文件操作

    在VBA中,对文件夹和文件进行操作是常见的需求,特别是在处理大量数据或者实现批量自动化处理时。本篇文章将详细阐述VBA中关于文件夹和文件操作的相关知识点。 1. **打开和关闭文件** - `Open` 函数用于打开一个...

    EXCEL-VBA复制文件夹

    VBA编写的复制文件夹工具

    WPS的js宏写的Excel文件合并工具,通过文件对话框选择文件来合并表格

    具体到实现细节,JS宏首先打开文件对话框,让用户能够浏览并选择需要合并的Excel文件。接着,它读取每个选定文件的数据,这通常涉及到遍历工作表、行和列,以及读取单元格的值。然后,宏会创建一个新的Excel工作簿,...

    html VBA 对话框,代替VBA中的msgbox

    总之,HTML VBA对话框是一种创新的替代传统`MsgBox`的方法,它结合了HTML的灵活性和VBA的控制能力,使得在VBA环境中开发更美观、功能更强的对话框成为可能。在实际应用中,开发者可以根据需求自由设计对话框样式,...

    VBA移动文件到名字相同的文件夹内

    VBA做的小工具,将指定文件夹下文件放入匹配名字的文件夹内,文件属于复制移动

    VBA读取文件夹下所有文件

    标题“VBA读取文件夹下所有文件”和描述提到了使用VBA来获取指定目录及其子目录中的所有文件。下面将详细介绍这个主题,并涵盖描述中提到的三种方法。 ### 方法一:使用FileSystemObject FileSystemObject (FSO) ...

    vba操作文件及文件夹示例

    ### VBA操作文件及文件夹的关键知识点 #### 1. 创建文件夹 VBA 提供了两种主要方式来创建文件夹: - **方法一:** 使用 `MkDir` 函数,这是一种简单直接的方法。 ```vba MkDir "D:\folder" ``` - **方法二:** ...

    利用VBA操纵文件和文件夹

    【利用VBA操纵文件和文件夹】的知识点涵盖了在编程中对文件和文件夹进行各种操作的方法。在Excel中,VBA(Visual Basic for Applications)提供了丰富的功能来处理文件系统任务,这使得用户能自动化处理大量的文件...

    VBA对话框的常用处理函数.rar

    本压缩包文件“VBA对话框的常用处理函数”很可能包含了关于如何在VBA中有效利用对话框的教程和示例。 对话框在VBA中有多种类型,包括: 1. 输入框(InputBox):允许用户输入文本,通常用于获取单个值。 示例代码:...

    Excel VBA工具 列出文件夹下所有子文件夹和文件

    Excel VBA工具 可以指定条件, 列出某个文件夹下所有子文件夹和文件

    解决EXCEL2016提示VBE6EXT.OLB不能被加载、且Microsoft Shared文件夹下无VBA文件夹的问题

    VBA文件夹,直接解压后,放到%Common Files%\microsoft shared下, 再通过win+r调出CMD窗口,输入regedit后弹出注册表编辑器, 找到HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3\0\win32...

Global site tag (gtag.js) - Google Analytics