精华内容
下载资源
问答
  • VBA中经常要用到文件对话框来进行打开文件、选择文件或选择文件夹的操作。用Microsoft Office提供的文件对话框比较方便。用法如下Application.FileDialog(fileDialogType)fileDialogType MsoFileDialogType 类型...

    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中经常要用到文件对话框来进行打开文件、选择文件或选择文件夹的操作。 用Microsoft Office提供的文件对话框比较方便。 用法如下 Application.FileDialog(fileDialogType) fileDialogType ...

    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/p4759521/articles/2203828.html

    展开全文
  • VBA-选择文件对话框

    2015-09-17 13:57:29
    '@strTypesDec 选择文件类型名(多文件名时用"|"连接) "Images|All files" '@strExten 选择文件类型(一个文件名有多个读取类型时用";"连接,多个文件名用|连接) "*.gif; *.jpg; *.jpeg|*.*" '@...
    '打开选择路径对话框
    '@strTitle	对话框标题名
    '@strTypesDec	选择文件类型名(多文件名时用"|"连接)    								 "Images|All files"
    '@strExten	    选择文件类型(一个文件名有多个读取类型时用";"连接,多个文件名用|连接)      "*.gif; *.jpg; *.jpeg|*.*"
    '@boolAllowMultiSelect   是否可以多选  true:多选  false:单选
    'return 返回选择文件的路径  多选的场合用"|"分割    点取消时返回空
    Function DialogsOpenSelectFile( _
                                Optional strTitle As String = "Please choose the required documents", _
                                Optional strTypesDec As String = "All", _
                                Optional strExten As String = "*.*", _	
                                Optional boolAllowMultiSelect As Boolean = False _
                                ) As String
        Dim dlgOpen   As FileDialog
        Dim arrTypesDec As Variant
        Dim arrExten As Variant
        Set dlgOpen = Application.FileDialog(msoFileDialogFilePicker)
        
        dlgOpen.Title = strTitle
        dlgOpen.Filters.Clear
        
        arrTypesDec = Split(strTypesDec, "|")
        arrExten = Split(strExten, "|")
        For arr_i = 0 To UBound(arrTypesDec)
            dlgOpen.Filters.Add arrTypesDec(arr_i), arrExten(arr_i)
        Next arr_i
        dlgOpen.AllowMultiSelect = boolAllowMultiSelect
        
        If dlgOpen.Show = -1 Then
            If dlgOpen.AllowMultiSelect = True Then
                Dim strTemp As String
                For i = 1 To dlgOpen.SelectedItems.Count
                    strTemp = strTemp & dlgOpen.SelectedItems(i)
                    If i <> dlgOpen.SelectedItems.Count Then
                        strTemp = strTemp & "|"
                    End If
                Next i
                DialogsOpenSelectFile = strTemp
            Else
                DialogsOpenSelectFile = dlgOpen.SelectedItems(1)
            End If
        Else
            DialogsOpenSelectFile = ""
        End If
        
        Set dlgOpen = Nothing
    End Function

    展开全文
  • EXCEL VBA 选择文件对话框

    万次阅读 2013-08-20 15:13:53
    Sub XXX() Dim arr() arr = Application.GetOpenFilename("所有支付文件 (*.xls;...*.csv,Excel 文件 (*.xls),*.xls,Excel2007 文件 (*.xlsx),*.xlsx,CSV 文件 (*.csv),*.csv", , "选择文件", , T
    Sub XXX()
        Dim arr()
        arr = Application.GetOpenFilename("所有支付文件 (*.xls;*.xlsx;*.csv),*.xls;*.xlsx;*.csv,Excel 文件 (*.xls),*.xls,Excel2007 文件 (*.xlsx),*.xlsx,CSV 文件 (*.csv),*.csv", , "选择文件", , True)
        For i = LBound(arr) To UBound(arr)
            Cells(i, 1).Value = arr(i)
        Next
    End Sub
    

    以上例子为文件多选

    以下是MICROSOFT的原文

    Application.GetOpenFilename 方法
    显示标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。

    语法

    表达式.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

    表达式   一个代表 Application 对象的变量。

    参数

    名称 必选/可选 数据类型 描述
    FileFilter 可选 Variant 一个指定文件筛选条件的字符串。
    FilterIndex 可选 Variant 指定默认文件筛选条件的索引号,取值范围为 1 到由 FileFilter 所指定的筛选条件数目。如果省略该参数,或者该参数的值大于可用筛选条件数,则使用第一个文件筛选条件。
    Title 可选 Variant 指定对话框的标题。如果省略该参数,则标题为“打开”。
    ButtonText 可选 Variant 仅限 Macintosh。
    MultiSelect 可选 Variant 如果为 True,则允许选择多个文件名。如果为 False,则只允许选择一个文件名。默认值为 False

    返回值
    Variant

    说明

    FileFilter 参数中传递的该字符串由文件筛选字符串对以及后跟的 MS-DOS 通配符文件筛选规范组成,中间以逗号分隔。每个字符串都在“文件类型”下拉列表框中列出。例如,下列字符串指定两个文件筛选 - 文本和加载宏:“文本文件 (*.txt),*.txt,加载宏文件 (*.xla),*.xla”。

    要为单个文件筛选类型使用多个 MS-DOS 通配符表达式,需用分号将通配符表达式分开。例如:“Visual Basic 文件 (*.bas; *.txt),*.bas; *.txt”。

    如果省略 FileFilter,则此参数默认为“所有文件 (*.*),*.*”。

    本方法返回选定的文件名或用户输入的名称。返回的名称可能包含路径说明。如果 MultiSelectTrue,则返回值将是一个包含所有选定文件名的数组(即使仅选定了一个文件名)。如果用户取消了对话框,则该值为 False

    本方法可能更改当前驱动器或文件夹。

    展开全文
  • 获取文件路径: Public Sub 文件路径()  Dim strFolder As String  '差异:msoFileDialogFilePicker  With Application.FileDialog... '文件对话框的题目,根据个人情况进行设定  .Title = "Select F...
  • '声明PrivateDeclareFunctionacedSetColorDialogLib"acad.exe"_(ColorAsLong,ByValbAllowMetaColorAsBoolean,ByValnCurLayerColorAsLong)AsBoolean'封装API函数,获得用户选择颜色的结果PublicFunctionGetColorFro.....
  • '将此份文档另存为纯文本格式文件MdFileBrw.bas,'并导入至vba的模块中即可在其他模块调用当中的函数。'其中GetFolder函数可以选择文件夹并返回选择的路径(按取消则返回空字符串),'ListFilesFSO过程可以根据传入的...
  • 注意引用 microsoft office 10.0 (或以上) object library 在文件对话框对中返回选择一个文件夹的路径. Public Function ChooseFolder() As String Dim dlgOpen As FileDialog Set d
  • Function 选择文件(Optional Title As String = "选择文件", Optional Multi As Boolean = False, _ Optional FileDescription As String = "所有文件", Optional FileType As String = "*.*") As Variant
  • 这部分还是很实用的,曾经使用这些方法帮助客户实现过一个小工具,很大程度提升了工作效率。Option Explicit '一 FileDialog 对象简介 '提供文件对话框,功能与 ...'“打开”对话框:让用户选择一个或多个可以...
  • 本文介绍在 CorelDRAW VBA中使用官方原生工具 CorelScriptTools 调用文件对话框选择文件并获得文件路径的VBA代码。其提供的 GetFileBox 方法可用来打开文件对话框(或者另存为对话框)。 CorelScriptTools ...
  • VBA-选择文件

    千次阅读 2018-08-04 11:26:07
    Option Explicit Sub 打开文件() Dim fileNameObj As Variant ... '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant Dim filename As String Dim ful...
  • '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant Dim i As Integer File = Application.GetOpenFilename("Excel 文件,*.xls;*.xlsx;*.xlsm") '调用Windows打开文件...
  • 制作路径选择对话框_Excel VBA应用.rar,Excel VBA中的GetOpenFilename和GetSaveAsFilename方法能够显示标准的文件打开和文件保存对话框,以获取用户选定文件的完整路径与文件名,但是不能用于文件路径的选� H绻...
  • VBA调用InternetExplorer操作IE浏览器,自动弹出文件选择对话框时,VBA会处于阻塞状态,你必须手工关闭文件选择对话框VBA才能继续向后运行。 例如下面网址,就有一个文件浏览按钮: ... 我做了一个exe文件,可以在...
  • CorelDRAW VBA - 打开选择文件夹对话框

    千次阅读 2018-01-10 22:04:51
    这篇教程将教会你使用 CorelDRAW 在代码中调用系统的文件夹选择对话框,并循环输出文件的名称和路径。 实现 代码如下: Sub chooseFolder() ' 声明变量 Dim shell, folder, fs, fd, files ' 创建...
  • Function 打开文件(Optional Title As String = "选择文件", Optional Multi As Boolean = False, _ Optional FileDescription As String = "所有文件", Optional FileType As String = "*.*") As Variant
  • VBA 选择文件

    2015-09-06 11:24:00
    Private Function SelectFile(ByVal strFilter As String) As String Dim ...'打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant Dim sFileName As String...
  • 本节我们就来分享下如何通过VBA弹出一个打开对话框,让用户选择需要操作的目标文件 。代码如下:Sub test() Dim pah$ With Application.FileDialog(msoFileDialogFolderPicker) .Title = "请选择目标文件夹" If...
  • 用Excel VBA选择文件、打开文件

    千次阅读 2010-07-15 23:26:00
    介绍如何用VBA选择文件和用VBA打开文件。 点击打开文件会弹出一个windows文件打开对话框,在EXCEL中VBA怎么实现这个功能?   Sub SelectFile()  Dim FileName As Variant   '...
  • VBA选择文件   Sub SelectFile() Dim FileName As Variant '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant Dim sFileName As String '从FileN
  • 'VBA打开文件选择框、取得文件全路径与文件名 Sub selectExcelfile() Dim fileNameObj As Variant Dim aFile As Variant '数组,提取文件名fileName时使用 '打开文件对话框返回的文件名,是一个全路径文件名,...
  •  装载项目打开“装载项目”对话框,用于选择和装载 VBA 项目。 卸载项目卸载或删除所选项目。 另存为打开“VBA 项目另存为”对话框,用于以不同名称保存项目副本,保存到不同的目录下或不同的磁盘上。 Visual ...
  • 当我的VBA脚本无法确定要使用哪个工作表时,它将打开一个Excel对话框:"选择表"。 这是太棒了! 如何以编程方式控制并使用" Sheet Select"对话框?我正在写一个使用Application.FileDialog(msoFileDialogFilePicker)...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 128
精华内容 51
关键字:

vba对话框选择文件